Backend server for the RKI metadata exchange.
The Metadata Exchange (MEx) project is committed to improve the retrieval of RKI research data and projects. How? By focusing on metadata: instead of providing the actual research data directly, the MEx metadata catalog captures descriptive information about research data and activities. On this basis, we want to make the data FAIR1 so that it can be shared with others.
Via MEx, metadata will be made findable, accessible and shareable, as well as available for further research. The goal is to get an overview of what research data is available, understand its context, and know what needs to be considered for subsequent use.
RKI cooperated with D4L data4life gGmbH for a pilot phase where the vision of a FAIR metadata catalog was explored and concepts and prototypes were developed. The partnership has ended with the successful conclusion of the pilot phase.
After an internal launch, the metadata will also be made publicly available and thus be available to external researchers as well as the interested (professional) public to find research data from the RKI.
For further details, please consult our project page.
Contact
For more information, please feel free to email us at [email protected].
Robert Koch-Institut
Nordufer 20
13353 Berlin
Germany
The mex-backend
package is a multi-purpose backend application with an HTTP-API. It
provides endpoints to ingest data from ETL-pipelines, for a metadata editor application,
and for publishing pipelines to extract standardized data for use in upstream frontend
applications.
This package is licensed under the MIT license. All other software components of the MEx project are open-sourced under the same license as well.
- on unix, consider using pyenv https://github.com/pyenv/pyenv
- get pyenv
curl https://pyenv.run | bash
- install 3.11
pyenv install 3.11
- switch version
pyenv global 3.11
- run
make install
- get pyenv
- on windows, consider using pyenv-win https://pyenv-win.github.io/pyenv-win/
- follow https://pyenv-win.github.io/pyenv-win/#quick-start
- install 3.11
pyenv install 3.11
- switch version
pyenv global 3.11
- run
.\mex.bat install
- for local development, neo4j desktop edition is recommended
- make sure you download and run the same version as in
testing.yml
- also make sure db name, user and password match the
settings.py
- make sure you download and run the same version as in
- for production deployments, a container runtime is recommended
- for a configuration example, see
compose.yaml
- for a configuration example, see
- run all linters with
pdm lint
- run only unit tests with
pdm unit
- run unit and integration tests with
pdm test
- update boilerplate files with
cruft update
- update global requirements in
requirements.txt
manually - update git hooks with
pre-commit autoupdate
- update package dependencies using
pdm update-all
- update github actions in
.github/workflows/*.yml
manually
- run
pdm release RULE
to release a new version where RULE determines which part of the version to update and is one ofmajor
,minor
,patch
.
- build image with
make image
- run directly using docker
make run
- start with docker compose
make start
- run
pdm run {command} --help
to print instructions - run
pdm run {command} --debug
for interactive debugging
backend
starts the backend service
Footnotes
-
FAIR is referencing the so-called FAIR data principles – guidelines to make data Findable, Accessible, Interoperable and Reusable. ↩