A Scythe for harvesting OAI-PMH repositories.
Project description
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 | |
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
python -m pip install oaipmh-scythe
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.
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
Built Distribution
Hashes for oaipmh_scythe-0.10.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b61aa60e97d976511be90bd5a699b522c8bb672ae0be8bc61d36a53d3a167657 |
|
MD5 | 2ed0127622623fa7ac2f54355f684f0d |
|
BLAKE2b-256 | 79103d53553490573efa1e3e2400f8a0fd57dc1eceda8ae396097c3913dbfc3b |