hermes RSD plugin
This repository contains plugins for hermes that provide a way to interact with a Research Software Directory (RSD) instance.
The RSD harvest plugin harvests metadata from existing RSD entries, whereas the RSD deposit plugin can be used to create or update entries in an RSD.
A working example based on the official hermes showcase can be found in RSD-as-a-service/showcase.
The metadata mapping applied in this plugin is documented in Metadata mapping.md.
How to
Prerequisites
This plugin requires hermes 0.9.x and an RSD instance running a support version. The plugin will check the remote RSD version and display a warning if it differs. You can check the version of an RSD by querying /api/fe and checking the rsd_version property.
Supported RSD versions: v5.3.1 to v5.4.4.
RSD API Token
To be able to push data to an RSD instance an API token is required. Follow the instructions of your RSD instance to obtain the token.
Plugin configuration
Follow the tutorial on the hermes website to set up your hermes workflow.
The plugins require three variable definitions:
rsd_url, the domain of the RSD where you would like to harvest/depositsoftware_slugthe slug, i.e.https://helmholtz.software/software/<slug>of your software. You need to define this the first time you are using the pluginRSD_API_TOKENis an environment variable that must be set
Extend your hermes.toml as follows
[harvest]
sources = ["rsd"]
[harvest.rsd]
rsd_url = "https://helmholtz.software"
software_slug = "<your-desired-slug>"
[deposit]
target = "rsd"
[deposit.rsd]
rsd_url = "https://helmholtz.software"
software_slug = "<your-desired-slug>"
Development setup
Requirements
- pyenv
- poetry
pyenv install 3.10
pyenv local 3.10
pyenv shell 3.10
poetry env use $(which python)
poetry install
eval $(poetry env activate)
Create a .env file in the root of the directory and add RSD_API_TOKEN.
To run, start the hermes pipeline
source .env
hermes harvest
hermes process
hermes curate
hermes postprocess
hermes deposit
Using the pre-commit hook to automatically annotate SPDX headers
To use a pre-commit hook that will automatically annotate all commits with file headers, run
make install-pre-commit-hook
Follow the instructions.
NOTE the pre-commit hook can not handle partial commits, i.e. only partially committing changes in one file. To do
this, disable pre-commit hooks using the -n/--no-verify flag:
git commit -n
Funding
This repository is part of the Software CaRD project and has been funded by Helmholtz Metadata Collaboration.
License and Copyright
Copyright GFZ Helmholtz Centre for Geosciences.
This software is primarily licensed EUPL-1.2. Some files are licensed Apache-2.0, CC-BY-4.0 or CC0-1.0, as indicated in their respective headers.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_plugin_rsd-0.1.0.tar.gz.
File metadata
- Download URL: hermes_plugin_rsd-0.1.0.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.4.1 CPython/3.14.4 Linux/7.0.0-30-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2b267fc87f15fedaee075a69e60ce835df26fa1c4ed8eb32f9232e3404157a5
|
|
| MD5 |
0e5d86ae84b1dff77aa8571078e9e555
|
|
| BLAKE2b-256 |
2f78b618d872afcabced2cb02cdcdb896d973cd8fdf8033a46a7212a41ae5ee9
|
File details
Details for the file hermes_plugin_rsd-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hermes_plugin_rsd-0.1.0-py3-none-any.whl
- Upload date:
- Size: 44.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/2.4.1 CPython/3.14.4 Linux/7.0.0-30-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23e4d880ae6b6baf7550a1026d0d03ee800f82ad1e41efaa6aa4558f077111a3
|
|
| MD5 |
142ceddf01437622176bf19934bd3a6c
|
|
| BLAKE2b-256 |
d3bdad4828a962abc311fcfffa791db2e43fbea60913a14acd51b1e6af898681
|