Skip to content

Commit 18f31ed

Browse files
Merge pull request #201 from icecube/fix198
Fixes #198 issue by adding guidelines to the docs for the development process
2 parents 025a9dc + 4e14ba9 commit 18f31ed

File tree

1 file changed

+58
-6
lines changed

1 file changed

+58
-6
lines changed

README.md

+58-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66

77
[[Full documentation]](https://icecube.github.io/skyllh/).
88

9-
The SkyLLH framework is an open-source Python3-based package licensed under the GPLv3 license. It provides a modular framework for implementing custom likelihood functions and executing log-likelihood ratio hypothesis tests. The idea is to provide a class structure tied to the mathematical objects of the likelihood functions, rather than to entire abstract likelihood models.
9+
The SkyLLH framework is an open-source Python3-based package licensed under the
10+
GPLv3 license. It provides a modular framework for implementing custom
11+
likelihood functions and executing log-likelihood ratio hypothesis tests.
12+
The idea is to provide a class structure tied to the mathematical objects of the
13+
likelihood functions, rather than to entire abstract likelihood models.
1014

1115
The math formalism used in SkyLLH is described in the
1216
[[math formalism document]](https://github.com/icecube/skyllh/blob/master/doc/user_manual.pdf).
@@ -15,7 +19,8 @@ The math formalism used in SkyLLH is described in the
1519

1620
## Using pip
1721

18-
The latest `skyllh` release can be installed from [PyPI](https://pypi.org/project/skyllh/) repository:
22+
The latest `skyllh` release can be installed from
23+
[PyPI](https://pypi.org/project/skyllh/) repository:
1924
```bash
2025
pip install skyllh
2126
```
@@ -25,17 +30,20 @@ The current development version can be installed using pip:
2530
pip install git+https://github.com/icecube/skyllh.git#egg=skyllh
2631
```
2732

28-
Optionally, the editable package version with a specified reference can be installed by:
33+
Optionally, the editable package version with a specified reference can be
34+
installed by:
2935
```bash
3036
pip install -e git+https://github.com/icecube/skyllh.git@[ref]#egg=skyllh
3137
```
3238
where
3339
- `-e` is an editable flag
34-
- `[ref]` is an optional argument containing a specific commit hash, branch name or tag
40+
- `[ref]` is an optional argument containing a specific commit hash, branch name
41+
or tag
3542

3643
## Cloning from GitHub
3744

38-
The `skyllh` (and an optional private [i3skyllh](#i3skyllh)) package can be installed by cloning the GitHub repository and adding it to the Python path:
45+
The `skyllh` (and an optional private [i3skyllh](#i3skyllh)) package can be
46+
installed by cloning the GitHub repository and adding it to the Python path:
3947

4048
```python
4149
import sys
@@ -48,11 +56,55 @@ sys.path.insert(0, '/path/to/i3skyllh') # optional
4856

4957
Several publications about the SkyLLH software are available:
5058

59+
- IceCube Collaboration, C. Bellenghi, M. Karl, M. Wolf, et al. PoS ICRC2023 (2023) 1061
60+
[DOI](https://doi.org/10.22323/1.444.1061)
5161
- IceCube Collaboration, T. Kontrimas, M. Wolf, et al. PoS ICRC2021 (2022) 1073
5262
[DOI](http://doi.org/10.22323/1.395.1073)
5363
- IceCube Collaboration, M. Wolf, et al. PoS ICRC2019 (2020) 1035
5464
[DOI](https://doi.org/10.22323/1.358.1035)
5565

66+
# Developer Guidelines
67+
68+
These guidelines should help new developers of SkyLLH to join the development
69+
process easily.
70+
71+
## Code style
72+
73+
- The code follows PEP8 coding style guidelines as close as possible.
74+
75+
- Code lines are maximum 80 characters wide.
76+
77+
- 4 spaces are used as one indentation level.
78+
79+
## Branching
80+
81+
- When implementing a new feature / change, first an issue must be created
82+
describing the new feature / change. Then a branch must be created referring
83+
to this issue. We recommend the branch name `fix<ISSUE_NUMBER>`, where
84+
`<ISSUE_NUMBER>` is the number of the created issue for this feature / change.
85+
86+
- In cases when SkyLLH needs to be updated because of a change in the i3skyllh
87+
package (see below), we recommend the branch name `i3skyllh_<ISSUE_NUMBER>`,
88+
where `<ISSUE_NUMBER>` is the number of the issue created in the i3skyllh
89+
repository. That way the *analysis unit tests* workflow will be able to find
90+
the correct skyllh branch corresponding to the i3skyllh change automatically.
91+
92+
## Releases and Versioning
93+
94+
- Release version numbers follow the format `v<YY>.<MAJOR>.<MINOR>`, where
95+
`<YY>` is the current year, `<MAJOR>` and `<MINOR>` are the major and minor
96+
version numbers of type integer. Example: `v23.2.0`.
97+
98+
- Release candidates follow the same format as releases, but have the additional
99+
suffix `.rc<NUMBER>`, where `<NUMBER>` is an integer starting with 1.
100+
Example: `v23.2.0.rc1`
101+
102+
- Before creating the release on github, the version number needs to be updated
103+
in the Sphinx documentation: `doc/sphinx/conf.py`.
104+
56105
# i3skyllh
57106

58-
The [`i3skyllh`](https://github.com/icecube/i3skyllh) package provides complementary pre-defined common analyses and datasets for the [IceCube Neutrino Observatory](https://icecube.wisc.edu) detector in a private [repository](https://github.com/icecube/i3skyllh).
107+
The [`i3skyllh`](https://github.com/icecube/i3skyllh) package provides
108+
complementary pre-defined common analyses and datasets for the
109+
[IceCube Neutrino Observatory](https://icecube.wisc.edu) detector in a private
110+
[repository](https://github.com/icecube/i3skyllh).

0 commit comments

Comments
 (0)