/iridium

Python library for convenient access to Invenio RDM through its public REST API.

Primary LanguagePythonMIT LicenseMIT

Iridium

Project status Test Coverage Docs

The metal Iridium is used to refine and enhance metal alloys. Similarly, this package provides an enhanced Python coating around the Invenio RDM APIs.

It provides:

  • a lower-level Python API wrapping the public Invenio RDM backend APIs
  • a higher-level object-oriented convenience API (in progress)

Currently only the Vocabulary and Draft/Record APIs are supported.

Other APIs (such as Communities and Requests APIs) might follow when there is interest and the REST APIs are stabilized.

Getting Started

Probably you are interested in the high-level API. For this, read the tutorial.

It is not advised to use the low-level API directly, unless you are an Invenio RDM expert. The low-level API documentation is minimal and located here.

Development

This project uses Poetry for dependency management.

Clone this repository and run poetry install.

Run pre-commit install after cloning to enable pre-commit to enforce the required linting hooks.

Run pytest before merging your changes to make sure you did not break anything.

To generate documentation, run pdoc --html -o docs iridium.

To check coverage, use pytest --cov.

Acknowledgements

HMC Logo    FZJ Logo

This project was developed at the Institute for Materials Data Science and Informatics (IAS-9) of the Jülich Research Center and funded by the Helmholtz Metadata Collaboration (HMC), an incubator-platform of the Helmholtz Association within the framework of the Information and Data Science strategic initiative.