Skip to main content

A lightweight OAI client library for Python

Project description

Sickle: OAI-PMH for Humans

Latest PyPI version Number of PyPI downloads

Sickle is a lightweight OAI-PMH client library written in Python. It has been designed for conveniently retrieving data from OAI interfaces the Pythonic way:

>>> from sickle import Sickle
>>> sickle = Sickle('http://elis.da.ulcc.ac.uk/cgi/oai2')
>>> records = sickle.ListRecords(metadataPrefix='oai_dc')
>>> records.next()
<Record oai:eprints.rclis.org:4088>

Features

  • Easy harvesting of OAI-compliant interfaces

  • Support for all six OAI verbs

  • Convenient object representations of OAI items (records, headers, sets, …)

  • Automatic dictionary serialization of Dublin Core-encoded metadata payloads

  • Option for ignoring deleted items

Installation

pip install sickle

Dependencies:

Documentation

Documentation is available at Read the Docs

Development

Changelog

Version 0.4

May 31, 2015

  • bug fix: resumptionToken parameter is exclusive

  • added support for harvesting complete OAI-XML responses

Version 0.3

April 17, 2013

  • added support for protected OAI interfaces (basic authentication)

  • made class mapping for OAI elements configurable

  • added options for HTTP timeout and max retries

  • added handling of HTTP 503 responses

Version 0.2

February 26, 2013

  • OAI items are now represented as their own classes instead of XML elements

  • library raises OAI-specific exceptions

  • made lxml a required dependency

Version 0.1

February 20, 2013

First public release.

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

Sickle-0.4.tar.gz (43.3 kB view hashes)

Uploaded Source

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