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:
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.
Metadata
Release files for invenio-oaipmh-scythe 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| invenio_oaipmh_scythe-0.13.0.tar.gz | 29.1 kB | Without provenance | Details for invenio_oaipmh_scythe-0.13.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| invenio_oaipmh_scythe-0.13.0-py3-none-any.whl | Python 3 | none | any | Details for invenio_oaipmh_scythe-0.13.0-py3-none-any.whl |
Total release size: 50.9 kB
Release files / invenio_oaipmh_scythe-0.13.0.tar.gz
| Download URL | invenio_oaipmh_scythe-0.13.0.tar.gz |
|---|---|
| Size | 29.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5944eb6f7d23e4011ae9fa80f0050b39e9b9596e96e9d47b07c0e8205a6804a9
|
|
BLAKE2b-256 checksum How to use checksums |
35e31b433c9fcdd699ffda4ce01d469b1322b9effdb882864e619ce2d486325b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / invenio_oaipmh_scythe-0.13.0-py3-none-any.whl
| Download URL | invenio_oaipmh_scythe-0.13.0-py3-none-any.whl |
|---|---|
| Size | 21.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
271e8221be63aee083e89d0bdc22abffa7212cf372881b016a58b457ee21f4e3
|
|
BLAKE2b-256 checksum How to use checksums |
bc72d1e66dad1e94a8d97de5393ede094f00c14201e078b083744889f65a7c0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Security for invenio-oaipmh-scythe 0.13.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.