Skip to main content
Ctrl K

ESCAPE template project

An example of software project template for the ESCAPE 2020 European project

2
contributors
Get started
124 commitsLast commit ≈ 55 months ago0 stars1 fork

Cite this software

Description

template_project_escape

DOI pipeline status License: MIT Binder

Content

About this project

A simple template project to provide software to ESCAPE.

This repository shows the basic content that should be included in a project (following the opensource guide):

  • An open source license.
  • A README file, similar to this one.
  • Contributing guidelines.
    • See below the general guidelines for the ESCAPE repository.
  • A code of conduct.
    • Check why is a good idea to add one.
  • The repository itself.

It would be highly suitable to include too:

  • A setup file as well as the basic commands to install the library (see below).
  • A .gitignore file.
  • Unitary and integration tests, and ideally a CI pipeline.

Please feel free to clone / fork / template this project! (For example, look to left of the Clone or download button in the GitHub site).

  • For a detailed explanation of how to submit a contribution to a project / repository (Fork, create a branch, make a pull request...), you can have a look to the opensource guide and/or the git's documentation.
  • Not that if you have login GitLab by using the [Shibbolenth] service (eduGAIN, Fédération d'Identités RENATER), you will need to add a SSH key to your GitLab profile if you want to 'push' your changes to the server.

License

Portions of this code are based on the GitLab-CI project (repository link, Zenodo link and DOI) held by a BSD 3-Clause License. You can check the complete license text here.

License of the template_project_repository:

The template_project_repository contains code from a third party project. This 'mixing' can be done because:

  • Both 'parent' projects are Open Source.
  • None of the original licenses are copy-left.
  • Both BSD 3-Clause and MIT, are permissive licenses. This means that source code distributed with a BSD 3-Clause license can be included in a project with a MIT license and be re-distributed under MIT:
    • Note however, that the original licenses must be included in the resulting project and mentioned in the LICENSE/documentation files.

PLEASE TAKE THE TIME TO CHECK AND VERIFY LICENSES AND THEIR COMPATIBILITIES

Contribute to the ESCAPE OSSR

If you want to provide software to the ESCAPE repository:

Install

Example of how to show installing instructions (and indeed the way to install this project).

  $ git clone https://gitlab.in2p3.fr/escape2020/wp3/template_project_escape.git
  $ cd template_project_escape
  $ pip install .

Report an issue / Ask a question

Use the GitLab repository Issues.

Contact

Email to vuillaume [at] lapp.in2p3.fr / garcia [at] lapp.in2p3.fr.

Citing

Example of citing (as well as the DOI to cite this project),

In case of citing this repository, use the following DOI:

  • v2.2 DOI
  • v2.1 DOI
  • v2.0 DOI
  • v1.1 DOI
  • v1.0 DOI

Do not forget to include your code / container into the Zenodo ESCAPE community.

  • Note that a DOI will be assigned in the moment create a new record/entry in Zenodo.

Examples contained in this project

1. How to automatise the building of a Singularity image and upload it to Zenodo using the GitLab-CI

A working example of how to automatise the GitLab-CI to;

  1. create a Singularity image / container of your code,
  2. make it available as a downloadable artifact within your project and
  3. upload it to the ESCAPE OSSR,

can be found in the .singularityci, and Singularity directories and in the .gitlab-ci.yml file - the build_singularity_image stage. Please read carefully all the README files.

For an easy example of how to create a Singularity receipt from scratch (and its corresponding container when executed), please have a look to the singularity_utils directory.

2. How to automatise the building of a Docker container and upload it to the GitLab Container Registry

An example can be found in the Docker directory and in the .gitlab-ci.yml file - the build_docker_image stage.

Keywords
Programming languages
  • Python 41%
  • Jupyter Notebook 36%
  • Shell 12%
  • Dockerfile 12%
License
</>Source code

Contributors

TV
Thomas Vuillaume

Member of community

ESCAPE OSSR