Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A lightweight OAI client library for Python

Project description

Sickle: OAI-PMH for Humans

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('')
>>> records = sickle.ListRecords(metadataPrefix='oai_dc')


  • Easy harvesting of OAI-compliant interfaces
  • Support for all six OAI verbs
  • Convenient object representations of OAI items (records, headers, sets, …)
  • Automatic de-serialization of Dublin Core-encoded metadata payloads to Python dictionaries
  • Option for ignoring deleted items


pip install sickle



Documentation is available at Read the Docs



Version 0.6.4

October 2, 2018

Version 0.6.3

April 8, 2018

  • fix unicode problems (issues 20 & 22)

Version 0.6.2

August 11, 2017

Version 0.6.1

November 13, 2016

  • it is now possible to pass any keyword arguments to requests
  • the encoding used to decode the server response can be overridden

Version 0.5

November 12, 2015

  • support for Python 3
  • consider resumption tokens with empty tag bodies

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.

Files for Sickle, version 0.6.4
Filename, size File type Python version Upload date Hashes
Filename, size Sickle-0.6.4-py3-none-any.whl (10.7 kB) File type Wheel Python version 3.6 Upload date Hashes View hashes
Filename, size Sickle-0.6.4.tar.gz (106.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page