oaipmh-scythe: A Scythe for harvesting OAI-PMH repositories.
Welcome to oaipmh-scythe
, an updated and modernized version of the original
sickle, now with additional features and ongoing maintenance.
CI | |
---|---|
Docs | |
Package | |
Meta |
oaipmh-scythe
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 oaipmh_scythe import Scythe
with Scythe("https://zenodo.org/oai2d") as scythe:
records = scythe.list_records()
next(records)
# <Record oai:zenodo.org:4574771>
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
Requirements
Python >= 3.10
oaipmh-scythe
is built with:
Installation
You can install oaipmh-scythe
via pip from PyPI:
Documentation
The documentation is made with Material for MkDocs and is hosted by GitHub Pages.
Similar Projects
There are a couple of similar projects available on PyPI and GitHub, e.g. via the topics oai-pmh and oai-pmh-client. Among them are these implementations in Python:
Project | Description | Last commit |
---|---|---|
sickle | oaipmh-scythe is a fork of sickle |
|
pyoai | sickle was inspired by pyoai |
|
pyoaiharvester | oai-pmh harvester CLI | |
ddblabs-ometha | oai-pmh harvester with CLI and TUI | |
oai-harvest | uses pyoai internally |
|
oai-pmh-harvester | uses sickle internally |
There are also similar projects available in Java and PHP.
Acknowledgments
This is a fork of sickle which was originally written by Mathias Loesch.
License
oaipmh-scythe
is distributed under the terms of the BSD license.