Skip to main content

Library for querying CERL infrastructure

Project description

CERL library

Python bindings for the Consortium of European Research Library's API.

See /docs/docs.ipynb for a Jupyter notebook with additional documentation

Basic example

from cerl import ample_query, ample_record, ids_from_result, by_dot, the

# Connect to any AMPLE instance
ct = 'data.cerl.org/thesaurus'
# Run a search query
result = ample_query(ct, 'Purslowe, Elizabeth')
for idx in ids_from_result(result):
    # Download the record as a Python dict
    record = ample_record(ct, idx)
    # Access the record by dot notation
    cid = the(by_dot(record, '_id'))
    assert cid == idx

Installation

pip3 install cerl

Features

  • Access to any AMPLE instance by specifying the host string (e.g. "data.cerl.org/thesaurus")
    • Some databases hardcoded as syntactic sugar:
      • CT
      • ISTC
      • HOLDINST
      • MEI
  • Use the standard search syntax with ample_query
    • The same databases hardcoded as syntactic sugar: ct_query etc.
  • Download records as Python dict objects with ample_record
    • Again, ct_record etc.
  • Download records in other formats with ample_record_export
    • Again, ct_record_export etc.
    • Export formats supported (but not all for each database):
      • rdf/ttl
      • rdf/xml
      • rdf/jsonld
      • json
      • yaml
      • unimarc
  • Access to record fields using the dot notation from search syntax via by_dot (NOTE: always returns a list of results)
    • If you know there is only one object/value being returned, wrap in the
    • Syntactic sugar around some fields:
      • Resolve CT record types with ct_record_type
      • Get the CID (CERL ID) with cid
  • Add a timestamp to a record after modifying it with add_timestamp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cerl-0.0.5.tar.gz (5.3 kB view hashes)

Uploaded Source

Built Distribution

cerl-0.0.5-py3-none-any.whl (5.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page