Commit 98499b24 authored by Enrique Garcia's avatar Enrique Garcia
Browse files

Merge branch 'update_readme' into 'master'

Update readme

See merge request !7
parents 853999a7 13b507bd
# ESCAPE metadata template
The OSSR environment will be using soon the **CodeMeta** schema context to describe metadata.
Among the [OSSR guidelines and rules of participation]( - agreed between the ESCAPE WP3 participants -,
we **strongly recommend** to include a metadata descriptive file into the entry to be uploaded to the ESCAPE repository.
Comments are welcome. Open an issue or [contact](; the authors.
In the ESCAPE context, the use of the [CodeMeta schema]( is strongly advised for uploads containing software.
However, we support and encourage the use of any other metadata standard. If this is the case, please contact us
(see just below). However, please note that the GitLab-Zenodo connection only supports - at the moment - codemeta metadata
descriptive files.
## Quickstart
Any comments are more than welcome. Open an issue or contact us [via email](;
Create and incorporate a `codemeta.json` file to your project before uploading it to the ESCAPE repository.
## Quickstart - How to incorporate a CodeMeta metadata file into your project.
1. Go to the [CodeMeta generator]( Create a `codemeta.json` file based on your library/project.
1. Go to the [CodeMeta generator]( Generate a `codemeta.json` file based on your project.
- Check - in the same web application - that the generated file is valid !
- Please for the moment restrict the list of keywords to the the ones that we propose (see below).
2. Include the `codemeta.json` file in the **root directory** of your project.
- Add the `deploy` stage to your `.gitlab-ci.yml` file and let the pipeline work !
3. To automate the upload to the [ESCAPE repository]( through the GitLab-CI pipelines
- Add the `ZenodoCI` library in the **root directory** of your project.
- Generate a `.zenodo.json` file (see below).
- Configure the pipeline (Quikstart and tutorials [here](
2. Copy the generated metadata into a `codemeta.json` file and include it in the **root directory** of your project.
3. Please **pay attention to the `keywords` field**. Include **at least one** of the following keywords **per category**;
besides all the keywords that you would like to attach to your project.
### Keywords list
In your `codemeta.json` file **add, at least,** one keywords of the following **three** categories:
Multiple keywords must be separated with a comma `,` and between double `"`;
"keywords": ["CTA", "Astroparticle physics", "jupyter-notebook", ...],
1. Project category:
- EGO-Virgo
- KM3NeT
- VO
2. Domain category (single keywords):
- `Astronomy`
- `Astroparticle physics`
- `Particle physics`
3. Notebooks category. At the moment only Jupyter notebooks are supported.
- Add `jupyter-notebook` as keyword if you project is based on or contains jupyter notebooks
- Do not add anything otherwise
The reason to add the above keywords is just for classification and findability purposes in the OSSR (the
[ESCAPE2020 Zenodo community]( by other services such as the ESFRI Science Analysis Platform.
## Create a Zenodo metadata file from the a CodeMeta schema file
The zenodo repository does not accept codemeta metadata files yet. In the meanwhile, the [codemeta2zenodo library](
The zenodo repository does not accept codemeta metadata files yet. Meanwhile, the [codemeta2zenodo library](
provides a simple tool to create a native Zenodo metadata file (`.zenodo.json`) from a `codemeta.json` file. To do so;
**PLEASE NOTE THAT THIS STAGE IT IS NOT COMPULSORY (it is done automatically when uploading an entry to Zenodo using the ZenodCI package)**
1. Include a `codemeta.json` file to the root directory of your project.
2. Install the `codemeta2zenodo` package;
......@@ -47,9 +78,18 @@ provides a simple tool to create a native Zenodo metadata file (`.zenodo.json`)
$ codemeta2zenodo --codemeta_file codemeta.json
Also, you can check and use the [**online codemeta2zenodo**](
converter, based in the same library.
In case of doubts or problems, please [contact us](;
- If you have linked your GitLab project with Zenodo using the autonomous procedure that [we propose](, this stage will be done automatically.
- If you are providing software via GitHub - and/or its [autonomous procedure]( -,
this stage is not mandatory (but still recommended). GitHub will take care of fetching the metadata from the project directly.
## Metadata schema templates
Inside the `codemeta_utils` directory you will find two template files with **the all the properties (terms) of the corresponding metadata schema context**
......@@ -78,35 +118,14 @@ For this purpose, and following the [CodeMeta's developer guide](https://codemet
3. Contact us for a likely implementation into the OSSR environment ;-)
## Automate the metadata schema in the OSSR environment.
The `ZenodoCI` project contains a copy of the code in this library !
This means that if you have already configured the GitLabCI pipeline together with the Zenodo repository, the CI
pipeline will take care of creating a `.zenodo.json` file automatically and incorporate it to the new upload/new
version to Zenodo.
## Keywords list
### How to automatise the upload of a GitLab project to Zenodo via the GitLab-CI
Please restrict the list of keywords within the `codemeta.json` file to the following.
- Add a `codemeta.js` file to your repository.
- Link your GitLab project and your Zenodo accounts.
- Add the following code snippet (Section 3. of the detailed tutorial) to the `.gitlab-ci.yml` file of your project and let the pipeline work !
- Check the [detailed tutorial]( for more details.
- EGO-Virgo
- KM3NeT
- VO
- Astronomy
- Astroparticle physics
- Particle physics
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment