From b779bb1ed178985a970f474481239d437c564c60 Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Fri, 3 Nov 2023 11:58:34 +0100 Subject: [PATCH 1/6] Add initial guidelines --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 5108c36bed..af66070ac2 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,26 @@ Several publications about the SkyLLH software are available: - IceCube Collaboration, M. Wolf, et al. PoS ICRC2019 (2020) 1035 [DOI](https://doi.org/10.22323/1.358.1035) +# Developer Guidelines + +These guidelines should help new developers of SkyLLH to join the development +process easily. + +## Code style + +- The code follows PEP8 coding style guidelines as close as possible. +- Code lines are maximum 80 characters wide. + +## Releases and Versioning + +- Release version numbers follow the format `..`, where `` + is the current year, `` and `` are the major and minor version + numbers of type integer. Example: `23.2.0`. + +- Release candidates follow the same format as releases, but have the additional + suffix `.rc`, where `` is an integer starting with 1. + Example: `23.2.0.rc1` + # i3skyllh 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). \ No newline at end of file From 19b643dd939aa9547b1e6ad4319fd3c86e702ed2 Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Tue, 7 Nov 2023 09:51:23 +0100 Subject: [PATCH 2/6] line wrap at 80 chars --- README.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index af66070ac2..66d9929db7 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,11 @@ [[Full documentation]](https://icecube.github.io/skyllh/). -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. +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. The math formalism used in SkyLLH is described in the [[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 ## Using pip -The latest `skyllh` release can be installed from [PyPI](https://pypi.org/project/skyllh/) repository: +The latest `skyllh` release can be installed from +[PyPI](https://pypi.org/project/skyllh/) repository: ```bash pip install skyllh ``` @@ -25,17 +30,20 @@ The current development version can be installed using pip: pip install git+https://github.com/icecube/skyllh.git#egg=skyllh ``` -Optionally, the editable package version with a specified reference can be installed by: +Optionally, the editable package version with a specified reference can be +installed by: ```bash pip install -e git+https://github.com/icecube/skyllh.git@[ref]#egg=skyllh ``` where - `-e` is an editable flag -- `[ref]` is an optional argument containing a specific commit hash, branch name or tag +- `[ref]` is an optional argument containing a specific commit hash, branch name + or tag ## Cloning from GitHub -The `skyllh` (and an optional private [i3skyllh](#i3skyllh)) package can be installed by cloning the GitHub repository and adding it to the Python path: +The `skyllh` (and an optional private [i3skyllh](#i3skyllh)) package can be +installed by cloning the GitHub repository and adding it to the Python path: ```python import sys @@ -75,4 +83,7 @@ process easily. # i3skyllh -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). \ No newline at end of file +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). From b2b82a32e83912b16adb8771847991afbbc6198d Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Tue, 7 Nov 2023 10:02:04 +0100 Subject: [PATCH 3/6] Add branching rules --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 66d9929db7..d5e7013a0c 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,19 @@ process easily. suffix `.rc`, where `` is an integer starting with 1. Example: `23.2.0.rc1` +## Branching + +- When implementing a new feature / change, first an issue must be created + describing the new feature / change. Then a branch must be created referring + to this issue. We recommend the branch name `fix`, where + `` is the number of the created issue for this feature / change. + +- In cases when SkyLLH needs to be updated because of a change in the i3skyllh + package (see below), we recommend the branch name `i3skyllh_`, + where `` is the number of the issue created in the i3skyllh + repository. That way the *analysis unit tests* workflow will be able to find + the correct skyllh branch corresponding to the i3skyllh change automatically. + # i3skyllh The [`i3skyllh`](https://github.com/icecube/i3skyllh) package provides From 6b8e3f1dab0b84bdb16ec3b52054976fe6d2d91a Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Thu, 16 Nov 2023 14:35:38 +0100 Subject: [PATCH 4/6] Define char for indentation level --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d5e7013a0c..8071b8a962 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,11 @@ process easily. ## Code style - The code follows PEP8 coding style guidelines as close as possible. + - Code lines are maximum 80 characters wide. +- 4 spaces are used as one indentation level. + ## Releases and Versioning - Release version numbers follow the format `..`, where `` From 1dc35fe4724fbc4d68b02bda5806cb18c3ebb120 Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Thu, 23 Nov 2023 14:38:00 +0100 Subject: [PATCH 5/6] Add v tag --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8071b8a962..3d165512c0 100644 --- a/README.md +++ b/README.md @@ -74,16 +74,6 @@ process easily. - 4 spaces are used as one indentation level. -## Releases and Versioning - -- Release version numbers follow the format `..`, where `` - is the current year, `` and `` are the major and minor version - numbers of type integer. Example: `23.2.0`. - -- Release candidates follow the same format as releases, but have the additional - suffix `.rc`, where `` is an integer starting with 1. - Example: `23.2.0.rc1` - ## Branching - When implementing a new feature / change, first an issue must be created @@ -97,6 +87,16 @@ process easily. repository. That way the *analysis unit tests* workflow will be able to find the correct skyllh branch corresponding to the i3skyllh change automatically. +## Releases and Versioning + +- Release version numbers follow the format `v..`, where + `` is the current year, `` and `` are the major and minor + version numbers of type integer. Example: `v23.2.0`. + +- Release candidates follow the same format as releases, but have the additional + suffix `.rc`, where `` is an integer starting with 1. + Example: `v23.2.0.rc1` + # i3skyllh The [`i3skyllh`](https://github.com/icecube/i3skyllh) package provides From 4e14ba9161d4e8d58d55b204ace20fc16010c98e Mon Sep 17 00:00:00 2001 From: Martin Wolf Date: Thu, 23 Nov 2023 15:05:53 +0100 Subject: [PATCH 6/6] Complete list of papers, add create release instructions --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 3d165512c0..003fb84f08 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,8 @@ sys.path.insert(0, '/path/to/i3skyllh') # optional Several publications about the SkyLLH software are available: +- IceCube Collaboration, C. Bellenghi, M. Karl, M. Wolf, et al. PoS ICRC2023 (2023) 1061 + [DOI](https://doi.org/10.22323/1.444.1061) - IceCube Collaboration, T. Kontrimas, M. Wolf, et al. PoS ICRC2021 (2022) 1073 [DOI](http://doi.org/10.22323/1.395.1073) - IceCube Collaboration, M. Wolf, et al. PoS ICRC2019 (2020) 1035 @@ -97,6 +99,9 @@ process easily. suffix `.rc`, where `` is an integer starting with 1. Example: `v23.2.0.rc1` +- Before creating the release on github, the version number needs to be updated + in the Sphinx documentation: `doc/sphinx/conf.py`. + # i3skyllh The [`i3skyllh`](https://github.com/icecube/i3skyllh) package provides