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

CI Docs License: GPL-3.0 PyPI - Version conda-forge

Quick links

Description

The SkyLLH framework is an open-source Python-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.

Installation

Python >= 3.11 is required.

Using pip

The latest skyllh release can be installed from PyPI repository:

pip install skyllh

Optional dependency groups can be installed with extras:

pip install "skyllh[extras]"   # iminuit, pyarrow
pip install "skyllh[dev]"      # pre-commit, pytest
pip install "skyllh[docs]"     # sphinx and doc-build tools

The current development version can be installed using pip:

pip install git+https://github.com/icecube/skyllh.git

Optionally, a specific reference can be installed by:

pip install git+https://github.com/icecube/skyllh.git@[ref]

where [ref] is a commit hash, branch name, or tag.

Using conda

conda install -c conda-forge skyllh

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.

Pre-commit hooks

This repository uses pre-commit to run ruff for linting and formatting on every commit.

Install pre-commit and set up the hooks:

pip install pre-commit
pre-commit install

The hooks will now run automatically on git commit. To run them manually against all files:

pre-commit run --all-files

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.

Contributors

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-26.0.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skyllh-26.0.0-py3-none-any.whl (376.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: skyllh-26.0.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for skyllh-26.0.0.tar.gz
Algorithm Hash digest
SHA256 514280b7177bc93a56fdb9722fde5e7189a7490464aac94b0d430e1d12e1a5d2
MD5 62196a17d549e5a67c7ddda712ed9539
BLAKE2b-256 6553353e3395e62dfc4cd94f229e6ba6335bcc79a9da09d6c9f5e92264c32c0e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: skyllh-26.0.0-py3-none-any.whl
  • Upload date:
  • Size: 376.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for skyllh-26.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a44e2df2b45e6d350d98379e37e8b3f90106feb523ffabe2f8e1e5919d913fc3
MD5 7511fb5ace932605066557e715ac9d77
BLAKE2b-256 a3e7904c032bdee38cd6eada97c4af33887a253a70d8ee3df369822d98d4b80a

See more details on using hashes here.

Supported by

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