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('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
method for record metadata extraction has been extracted (Record.get_metadata()) to make subclassing easier (https://github.com/mloesch/sickle/pull/38)
retryable HTTP status codes and default wait time between retries can be customized (https://github.com/mloesch/sickle/issues/21 https://github.com/mloesch/sickle/pull/41)
retry logic has been fixed: max_retries parameter now refers to no. of retries, not counting the initial request anymore
the default number of HTTP retries has been set to 0 (= no retries)
Version 0.6.5
January 12, 2020
fix: repr methods where causing an exception on Python 3 (https://github.com/mloesch/sickle/issues/30)
Version 0.6.4
October 2, 2018
fix: resumption token with empty body indicates last response (https://github.com/mloesch/sickle/issues/25)
Version 0.6.3
April 8, 2018
fix unicode problems (issues 20 & 22)
Version 0.6.2
August 11, 2017
missing datestamp and identifier elements in record header don’t break harvesting
lxml resolve_entities disabled (http://lxml.de/FAQ.html#how-do-i-use-lxml-safely-as-a-web-service-endpoint)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file Sickle-0.7.0.tar.gz
.
File metadata
- Download URL: Sickle-0.7.0.tar.gz
- Upload date:
- Size: 106.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8944bcda3db0109a361248ef71fef476dd1f11109cdd1a41135527b7992b958b |
|
MD5 | 4ee9dee00e36ec15874f2aeb27c21416 |
|
BLAKE2b-256 | a3788fe5fc3d7379593abf0b42b97e7ad9981437afd5cf5ae2032536def9d411 |
File details
Details for the file Sickle-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: Sickle-0.7.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ace7b1d1fc76571fe0dbfefc2c49e5e6c026e2d0dcaae521f4da21e98d4bc85 |
|
MD5 | d913f8b9153365e09cc5989d2d88b4ac |
|
BLAKE2b-256 | 59c4e98ed4dfc15f51245e17626dab983ffde53f9f03ef5100938bcb4996427f |