Skip to main content

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/deposit
  • software_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 plugin
  • RSD_API_TOKEN is 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

hermes_plugin_rsd-0.1.0.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_plugin_rsd-0.1.0-py3-none-any.whl (44.3 kB view details)

Uploaded Python 3

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

Hashes for hermes_plugin_rsd-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d2b267fc87f15fedaee075a69e60ce835df26fa1c4ed8eb32f9232e3404157a5
MD5 0e5d86ae84b1dff77aa8571078e9e555
BLAKE2b-256 2f78b618d872afcabced2cb02cdcdb896d973cd8fdf8033a46a7212a41ae5ee9

See more details on using hashes here.

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

Hashes for hermes_plugin_rsd-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23e4d880ae6b6baf7550a1026d0d03ee800f82ad1e41efaa6aa4558f077111a3
MD5 142ceddf01437622176bf19934bd3a6c
BLAKE2b-256 d3bdad4828a962abc311fcfffa791db2e43fbea60913a14acd51b1e6af898681

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page