Skip to main content

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.

Project description

SkyLLH

Tests Docs License: GPL-3.0

[Full documentation].

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].

Installation

Using pip

The latest skyllh release can be installed from PyPI repository:

pip install skyllh

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:

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

Cloning from GitHub

The skyllh (and an optional private i3skyllh) package can be installed by cloning the GitHub repository and adding it to the Python path:

import sys

sys.path.insert(0, '/path/to/skyllh')
sys.path.insert(0, '/path/to/i3skyllh')  # optional

Publications

Several publications about the SkyLLH software are available:

  • IceCube Collaboration, C. Bellenghi, M. Karl, M. Wolf, et al. PoS ICRC2023 (2023) 1061 DOI
  • IceCube Collaboration, T. Kontrimas, M. Wolf, et al. PoS ICRC2021 (2022) 1073 DOI
  • IceCube Collaboration, M. Wolf, et al. PoS ICRC2019 (2020) 1035 DOI

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.

  • 4 spaces are used as one indentation level.

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<ISSUE_NUMBER>, where <ISSUE_NUMBER> 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_<ISSUE_NUMBER>, where <ISSUE_NUMBER> 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.

Releases and Versioning

  • Release version numbers follow the format v<YY>.<MAJOR>.<MINOR>, where <YY> is the current year, <MAJOR> and <MINOR> 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<NUMBER>, where <NUMBER> 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 package provides complementary pre-defined common analyses and datasets for the IceCube Neutrino Observatory detector in a private repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skyllh-24.1.0.tar.gz (327.4 kB view details)

Uploaded Source

Built Distribution

skyllh-24.1.0-py3-none-any.whl (363.9 kB view details)

Uploaded Python 3

File details

Details for the file skyllh-24.1.0.tar.gz.

File metadata

  • Download URL: skyllh-24.1.0.tar.gz
  • Upload date:
  • Size: 327.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for skyllh-24.1.0.tar.gz
Algorithm Hash digest
SHA256 60d969fcd38bd7b832a7b0374da8d39a0bcef5a7dbde63c9d9afc8986e3c1b36
MD5 33187b62099d23f46b4fa69c03bd2f81
BLAKE2b-256 bc51a7fa7e81349473ff1f19046f4808f09f1b171dd4ac7b284e2f84ba43eaad

See more details on using hashes here.

File details

Details for the file skyllh-24.1.0-py3-none-any.whl.

File metadata

  • Download URL: skyllh-24.1.0-py3-none-any.whl
  • Upload date:
  • Size: 363.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for skyllh-24.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb0392704c8cd315c4b9b17dcc58037c9aff7805503cb08fbb020de19fbea0a8
MD5 f1bcb21c4fc3f47091f684989981ea11
BLAKE2b-256 ffebc5fa6bdd3f1cc79e82fe00733ad63de54b2845a7306389d2931b3969ab89

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page