Helmholtz Research Software Directory
The Helmholtz Research Software Directory is a place to discover and promote research software. Designed for Research Software Engineers and Scientists, it aims to foster FAIR and reuseability of software.
A plugin for HERMES that creates and updates RSD entries from within the HERMES pipeline.
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.
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.
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.
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_slug the 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_TOKEN is an environment variable that must be setExtend 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>"
Requirements
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
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
This repository is part of the Software CaRD project and has been funded by Helmholtz Metadata Collaboration.
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.
Helmholtz Metadata Collaboration
The Helmholtz Research Software Directory is a place to discover and promote research software. Designed for Research Software Engineers and Scientists, it aims to foster FAIR and reuseability of software.
Implementation of the HERMES workflow to automate software publication with rich metadata.
A metadata curation dashboard for hermes.