Skip to main content

A lightweight OAI client library for Python

Project description

Sickle: OAI-PMH for Humans

https://travis-ci.org/mloesch/sickle.svg?branch=master https://img.shields.io/pypi/v/Sickle.svg https://img.shields.io/pypi/dm/sickle.svg

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 de-serialization of Dublin Core-encoded metadata payloads to Python dictionaries

  • Option for ignoring deleted items

Installation

pip install sickle

Dependencies:

Documentation

Documentation is available at Read the Docs

Development

Changelog

Version 0.7.0

May 17, 2020

Version 0.6.5

January 12, 2020

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.

Source Distribution

Sickle-0.7.0.tar.gz (106.8 kB view hashes)

Uploaded Source

Built Distribution

Sickle-0.7.0-py3-none-any.whl (12.6 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