Overview

Warning

This is a work in progress. Expect disruptive changes.

README

hermes

Implementation of the HERMES workflow.

For more information about the HERMES project, see the HERMES project website.

Structure

  • Python sources are in the src folder

  • pytest tests are in the test folder

  • Architectural Design Records (ADR) are in docs/adr

  • API documentation is generated into docs/source/api

  • All other documentation lives in docs/source/*

This project uses

  • a development branch (develop) to merge developments into, this is the default branch

  • actual development is done on “feature” branches (this includes non-feature work such as bug fixing)

  • a main branch which only includes releases

Set up for development

  1. Clone this repository

  2. If you want to use poetry, run poetry shell and poetry install (Learn how to install poetry) - we require using poetry>=1.2.

Usage

The haggis application provides the entry point for the HERMES workflow. After installation, you can run it from your command line environment:

haggis --help
haggis harvest

You can also call the hermes package as Python module:

python -m hermes --help
python -m hermes 

Testing

Tests are implemented using pytest. You can generate coverage report using the pytest-cov plugin. Both tools are specified as development dependencies in the pyproject.toml.

To run tests with an extensive HTML report, run:

poetry run pytest test --cov=hermes --cov-branch --cov-report=html --cov-report=term

Building documentation

This project comes with extensive documentation that can be built using Sphinx. This also includes automatic API documentation. To build the documentation in your poetry environment, run the following commands from the project root:

poetry install --with docs
poetry run task docs-build

Or use sphinx-autobuild to enable a self-updating preview service:

poetry install --with docs
poetry run task docs-live

Developer Documentation

API Documentation

Indices and tables

Feedback

This is an open repository to collect feedback on the HERMES workflow.

We see our project as part of a global and inter-disciplinary effort to improve the state of the art in research software engineering, maintenance and scholarly communications around research software. We therefore appreciate any feedback you may have on the HERMES project itself and any of its outputs.

How to give feedback

Either create an issue in our project repository or send us an email.

Acknowledgements

This project (ZT-I-PF-3-006) was funded by the Initiative and Networking Fund of the Helmholtz Association in the framework of the Helmholtz Metadata Collaboration’s 2020 project call.

License

This project documentation is licensed under a Creative Commons CC0 1.0 Universal (CC0 1.0) Public Domain Dedication.

Our logo / key visual / icon is licensed under Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)