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 details)

Uploaded Source

Built Distribution

Sickle-0.7.0-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

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

Hashes for Sickle-0.7.0.tar.gz
Algorithm Hash digest
SHA256 8944bcda3db0109a361248ef71fef476dd1f11109cdd1a41135527b7992b958b
MD5 4ee9dee00e36ec15874f2aeb27c21416
BLAKE2b-256 a3788fe5fc3d7379593abf0b42b97e7ad9981437afd5cf5ae2032536def9d411

See more details on using hashes here.

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

Hashes for Sickle-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ace7b1d1fc76571fe0dbfefc2c49e5e6c026e2d0dcaae521f4da21e98d4bc85
MD5 d913f8b9153365e09cc5989d2d88b4ac
BLAKE2b-256 59c4e98ed4dfc15f51245e17626dab983ffde53f9f03ef5100938bcb4996427f

See more details on using hashes here.

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