Skip to main content

sensipy

Status Build Status PyPI GitHub Issues GitHub Pull Requests License

Sensipy is a Python toolkit for simulating gamma-ray follow-up observations of time-variable astrophysical sources. First built for CTAO-style analyses, it builds on top of gammapy and streamlines everything from IRF handling to exposure lookups.

The full documentation is available at sensipy.vercel.app.

Sensipy logo

Features

  • Sensitivity and exposure-time calculations powered by gammapy.
  • Calculate differential or integral sensitivity curves for gamma-ray observatories using instrument response functions and spectral models.
  • Easily simulate the observation time needed to detect a source with a given spectral model at a specified significance level.
  • Follow-up utilities (sensipy.followup) for quick-look assessments.
  • Ships with ready-to-use EBL models.
  • CTAO-first workflow that loads IRFs, applies EBL absorption models, and simulates detectability curves.

Installation

Sensipy requires Python 3.11+.

# Recommended: uv
uv add sensipy

# or pip
pip install sensipy

Using conda? Create/activate an environment, ensure pip is available, then run pip install sensipy.

Run the unit tests with uv run pytest (or pytest in any configured environment) to verify the installation.

Documentation

Full documentation, tutorials, and the API reference live on the docs (source in docs/). To work on the site locally:

cd docs
bun install
bun dev

Key sections include:

  • Getting started guides for installation, setup, spectral/EBL models, and sensitivity calculations.
  • Tutorials that walk through the full workflow (loading IRFs, simulating observations, running follow-ups).
  • API reference material for core modules such as ctaoirf, sensitivity, followup, and source.

Contributing

Contributions are welcome! Please:

  • Open an issue for bugs or feature proposals.
  • Keep changes tested via uv run pytest or uv run pytest -n 4 for faster testing in parallel.
  • Check for type errors with uv run mypy src/sensipy.
  • Follow the existing code style and type-checking expectations (ruff, mypy, etc.).

License

Sensipy is distributed under the Apache 2.0 License.

Metadata

Release files for sensipy 4.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sensipy 4.0.1
File Size Uploaded Provenance Actions
sensipy-4.0.1.tar.gz 4.3 MB Without provenance Details for sensipy-4.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for sensipy 4.0.1
File Interpreter ABI Platform Actions
sensipy-4.0.1-py3-none-any.whl Python 3 none any Details for sensipy-4.0.1-py3-none-any.whl

Total release size: 8.5 MB

Release files / sensipy-4.0.1.tar.gz

Download URL sensipy-4.0.1.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
a2a78174646121fa9507e762146a149f27333cda23bfff6c5d74735cccb13f7a
BLAKE2b-256 checksum
How to use checksums
2a9db7f983512533acb7237a456cde9b8f73d35578e35553b98bee999e0b63c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sensipy-4.0.1-py3-none-any.whl

Download URL sensipy-4.0.1-py3-none-any.whl
Size 4.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
aa108b4a451335ddac041051180df22cd5c9ec2ab0aef5f4133cbbe149fef27c
BLAKE2b-256 checksum
How to use checksums
e203a3d4f88c6168d0172b0f7415d799e2ae0f76bdb4b1eefff6085675d5e4e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for sensipy 4.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page