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.
Metadata
Release files for hermes-plugin-rsd 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hermes_plugin_rsd-0.1.1.tar.gz | 32.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hermes_plugin_rsd-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.6 kB
Release files / hermes_plugin_rsd-0.1.1.tar.gz
| Download URL | hermes_plugin_rsd-0.1.1.tar.gz |
|---|---|
| Size | 32.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03eebf65a94da7fca46994c34f1be85b10f029a52584e08696d7d96338c1dedb
|
|
BLAKE2b-256 checksum How to use checksums |
ebc49df846d5c8cb5152a5812fe122c56fb47bb0d23f24d9aa7f966912d40fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.14.4 Linux/7.0.0-1006-gke
|
Release files / hermes_plugin_rsd-0.1.1-py3-none-any.whl
| Download URL | hermes_plugin_rsd-0.1.1-py3-none-any.whl |
|---|---|
| Size | 44.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
97099d58fbdf445c473da9b4ccc4864ea96cacff3aee6469dde75c5e1494803f
|
|
BLAKE2b-256 checksum How to use checksums |
325ded28a926dbd7d3112a05b3d0c65a2a1d93227bced9eed6341c9637513d65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.14.4 Linux/7.0.0-1006-gke
|