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.

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)

Source distribution for hermes-plugin-rsd 0.1.1
File Size Uploaded
hermes_plugin_rsd-0.1.1.tar.gz 32.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-plugin-rsd 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release 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