Skip to content

Commit 240bf71

Browse files
committed
Merge branch 'develop' into refactor/data-model
2 parents 03f7eff + dd8b770 commit 240bf71

6 files changed

Lines changed: 63 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,28 @@ All notable changes to this project will be documented in this file.
1111
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
1212
and this project tries to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1313

14+
## [0.9.2] - 2026-09-04
15+
16+
### Added
17+
18+
- Add Michael Fritzsche as author
19+
- Add missing release DOIs to CITATION.cff
20+
- Add JuRSE code pick of the month badge
21+
- Add hermes-plugin-software-card to marketplace
22+
- Add hermes-plugin-rsd to marketplace
23+
- Add "Accept Curate" curation plugin
24+
25+
### Fixed
26+
27+
- Fix readthedocs build
28+
29+
### Changed
30+
31+
- Small changes in tutorials
32+
- More fleshed out base curate plugin and command
33+
- Use HERMES' concept DOI in "IsCompiledBy" relation
34+
- Use Jinja2 templates to set up CI in `hermes init`
35+
1436
## [0.9.1] - 2026-01-12
1537

1638
### Added
@@ -57,4 +79,4 @@ and this project tries to adhere to [Semantic Versioning](https://semver.org/spe
5779

5880
### Changed
5981

60-
- Improved logging output for better error dissemination
82+
- Improved logging output for better error dissemination

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ title: hermes
1515
message: >-
1616
If you use this software, please cite it using the
1717
metadata from this file.
18-
version: 0.9.1
18+
version: 0.9.2
1919
license: "Apache-2.0"
2020
abstract: "Tool to automate software publication. Not stable yet."
2121
type: software

docs/source/plugins/plugins.json

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,20 +62,28 @@
6262
"steps": ["curate"],
6363
"builtin": true
6464
},
65-
{
66-
"name": "File Deposit",
67-
"description": "Deposit plugin that only dumps the metadata into a local file.",
68-
"author": "Hermes team",
69-
"steps": ["deposit"],
70-
"builtin": true
71-
},
7265
{
7366
"name": "hermes-plugin-software-card",
7467
"description": "HERMES curation plugin using the Software CaRD framework.",
7568
"author": "Software CaRD team",
7669
"steps": ["curate"],
7770
"repository_url": "https://github.com/softwarepub/hermes-plugin-software-card"
7871
},
72+
{
73+
"name": "hermes-plugin-rsd",
74+
"description": "Harvest and deposit plugin to create and update software entries in a Research Software Directory instance.",
75+
"author": "Software CaRD team",
76+
"steps": ["harvest", "deposit"],
77+
"repository_url": "https://codebase.helmholtz.cloud/research-software-directory/hermes-plugin-rsd",
78+
"pypi_url": "https://pypi.org/project/hermes-plugin-rsd/"
79+
},
80+
{
81+
"name": "File Deposit",
82+
"description": "Deposit plugin that only dumps the metadata into a local file.",
83+
"author": "Hermes team",
84+
"steps": ["deposit"],
85+
"builtin": true
86+
},
7987
{
8088
"name": "Invenio Deposit",
8189
"description": "Deposit plugin for Invenio-based platforms.",
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
SPDX-FileCopyrightText: 2026 GFZ Helmholtz Centre for Geosciences
12
SPDX-FileCopyrightText: 2024 Helmholtz-Zentrum Dresden-Rossendorf
23
SPDX-License-Identifier: CC-BY-SA-4.0
4+
SPDX-FileContributor: Christian Meeßen
35
SPDX-FileContributor: David Pape

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
[project]
1010
name = "hermes"
11-
version = "0.10.0.dev0"
11+
version = "0.10.0dev0"
1212
description = "Workflow to publish research software with rich metadata"
1313
license = "Apache-2.0 AND LicenseRef-BSD-Caltech"
1414
authors = [

src/hermes/commands/harvest/cff.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -78,27 +78,27 @@ def _patch_author_emails(self, cff: dict, codemeta: dict) -> dict:
7878
return codemeta
7979

8080
def _patch_identifiers(self, cff: dict, codemeta: dict) -> dict:
81-
cff_identifiers = cff.get("identifiers", [])
82-
if "identifier" in codemeta:
83-
del codemeta["identifier"]
84-
if "url" in codemeta:
85-
del codemeta["url"]
86-
if cff_identifiers:
87-
codemeta["identifier"] = []
88-
for identifier in cff_identifiers:
89-
if "type" not in identifier or "value" not in identifier:
90-
continue
91-
if identifier["type"] == "doi":
92-
codemeta["identifier"].append("https://doi.org/" + identifier["value"])
93-
elif identifier["type"] =="url":
94-
codemeta["identifier"].append(identifier["value"])
95-
elif identifier["type"] in ["swh", "other"]:
96-
codemeta["identifier"].append({"@value": identifier["value"]})
97-
for key in ["url", "repository", "repository-artifact"]:
98-
if key in cff:
99-
codemeta.setdefault("url", [])
100-
codemeta["url"].append({"@id": cff[key]})
101-
return codemeta
81+
cff_identifiers = cff.get("identifiers", [])
82+
if "identifier" in codemeta:
83+
del codemeta["identifier"]
84+
if "url" in codemeta:
85+
del codemeta["url"]
86+
if cff_identifiers:
87+
codemeta["identifier"] = []
88+
for identifier in cff_identifiers:
89+
if "type" not in identifier or "value" not in identifier:
90+
continue
91+
if identifier["type"] == "doi":
92+
codemeta["identifier"].append("https://doi.org/" + identifier["value"])
93+
elif identifier["type"] == "url":
94+
codemeta["identifier"].append(identifier["value"])
95+
elif identifier["type"] in ["swh", "other"]:
96+
codemeta["identifier"].append({"@value": identifier["value"]})
97+
for key in ["url", "repository", "repository-artifact"]:
98+
if key in cff:
99+
codemeta.setdefault("url", [])
100+
codemeta["url"].append({"@id": cff[key]})
101+
return codemeta
102102

103103
def _convert_cff_to_codemeta(self, cff_data: str) -> Any:
104104
codemeta_str = Citation(cff_data).as_codemeta()

0 commit comments

Comments
 (0)