README.md 4.96 KB
Newer Older
1 2
# template_project_escape 
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3572655.svg)](https://doi.org/10.5281/zenodo.3572655) 
3 4
[![pipeline status](https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/badges/master/pipeline.svg)](
https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/-/commits/master)
5 6
[![Build Status](https://travis-ci.com/garciagenrique/template_project_escape.svg?branch=master)](
https://travis-ci.com/garciagenrique/template_project_escape)
Enrique Garcia's avatar
Enrique Garcia committed
7 8


Enrique Garcia's avatar
Enrique Garcia committed
9 10 11 12
<p align="center">
   <img src="https://cdn.eso.org/images/large/ann18084a.jpg" width="640" height="453"/>
</p>

Enrique Garcia's avatar
Enrique Garcia committed
13
A simple template project to provide software to ESCAPE.
14

15 16
It shows the **basic documentation** a project should include, following the 
[opensource guide](https://opensource.guide/starting-a-project/):
17

18 19 20 21
* An [open source](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#where-does-the-license-live-on-my-repository)
 **license**.
* A [**README** file](https://help.github.com/en/github/getting-started-with-github/create-a-repo#commit-your-first-change),
 similar to this one. 
22 23 24 25
* Contributing guidelines. 
    - See below the general guidelines for the ESCAPE repository.
* A [code of conduct](https://opensource.guide/code-of-conduct/).
    - Check why is a good idea to add one.
26
* The structure of the repository.
27

Enrique Garcia's avatar
style2  
Enrique Garcia committed
28
It would be highly suitable to include too:
29
   - A setup file as well as the basic commands to install the library (see below).
Enrique Garcia's avatar
Enrique Garcia committed
30
   - A .gitignore file.
Enrique Garcia's avatar
Enrique Garcia committed
31
   - Unitary and integration tests.
Enrique Garcia's avatar
Enrique Garcia committed
32
   
33 34
**Please feel free to copy / base on / template this project!** (Look to left of the `Clone or download` button in the 
[GitHub](https://github.com/garciagenrique/template_project_escape) site).
35

Enrique Garcia's avatar
Enrique Garcia committed
36
Take few minutes to check the [ESCAPE repository's guidelines](https://gitlab.in2p3.fr/escape2020/guidelines) too.
37

38
# Contributing guidelines for the ESCAPE repository
39

Enrique Garcia's avatar
Enrique Garcia committed
40 41
If you wish to provide software to the ESCAPE repository: 

42 43
 - You should ask developer access through the Gitlab interface and send an email to vuillaume [at] lapp.in2p3.fr with
  your institution email.
44

Enrique Garcia's avatar
Enrique Garcia committed
45
 - You will then be able to open a new project and transfer code.
Enrique Garcia's avatar
Enrique Garcia committed
46

47
 - All the code provided should be uploaded from the [Zenodo ESCAPE community](https://zenodo.org/communities/escape2020/). 
Enrique Garcia's avatar
Enrique Garcia committed
48

49 50 51
 - For a detailed explanation of how to submit a contribution to a project / repository (Fork, create a branch, make
  a pull request...), please check the [opensource guide](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) 
  and/or the [git's documentation](https://git-scm.com/doc).
Enrique Garcia's avatar
Enrique Garcia committed
52

53 54 55
 - Once you are granted with developer access, you will be able to add a new blank project / import it (from other
  common repository managers, i.e., GitHub, GitLab, Bitbucket, Fogbugz...) to the
   [GitLab/ESCAPE](https://gitlab.in2p3.fr/escape2020) main page.
Enrique Garcia's avatar
Enrique Garcia committed
56

57 58 59
***PLEASE NOTE*** 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](https://gitlab.in2p3.fr/help/ssh/README#generating-a-new-ssh-key-pair) to 
your GitLab profile if you want to 'push' your changes to the server. 
Enrique Garcia's avatar
Enrique Garcia committed
60

61
# Singularity image container and CI/CD to Zenodo
Enrique Garcia's avatar
Enrique Garcia committed
62

63 64 65 66 67 68
The documentation of how to create a Singularity image / container of your code, upload it to your repository, and also add 
it to the ESCAPE community in the [Zenodo repository](https://zenodo.org/communities/escape2020) can be found in the
 `.gitlabci`, `.zenodoci` directories and in the `.gitlab-ci.yml` file. 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. 
Enrique Garcia's avatar
Enrique Garcia committed
69

70 71 72 73 74 75 76 77 78
# Installation

```sh
  $ git clone https://gitlab.in2p3.fr/escape2020/escape/template_project_escape.git
  $ cd template_project_escape
  $ python setup.py install
``` 

This is an easy method to install the library. 
79 80 81
You can also check other more elaborated ways - generally for bigger repositories - here (e.g.,
 [cta-observatory/cta-lstchain](https://github.com/cta-observatory/cta-lstchain), 
 [cta-observatory/ctapipe](https://github.com/cta-observatory/ctapipe)).
82

Enrique Garcia's avatar
Enrique Garcia committed
83
# Citing 
Enrique Garcia's avatar
Enrique Garcia committed
84 85 86
In case of citing this repository, use the following DOI:
 - v 1.0: [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3572655.svg)](https://doi.org/10.5281/zenodo.3572655)

87 88 89 90 91
Do not forget to include your code / container into the [Zenodo ESCAPE community](https://zenodo.org/communities/escape2020/). 
 - ***Note that*** you will be able to assign a DOI in the moment you include your code/repository to Zenodo. 
 
Please check the licenses of the code within in the `.gitlabci`, `.zenodoci` directories before adding this template 
to your project.
92

Enrique Garcia's avatar
Enrique Garcia committed
93
# Report an issue / Ask a question
94
Use the [GitLab repository Issues](https://gitlab.in2p3.fr/escape2020/escape/template_project_escape/-/issues).
Enrique Garcia's avatar
Enrique Garcia committed
95 96 97

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