sensipy
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.
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, andsource.
Contributing
Contributions are welcome! Please:
- Open an issue for bugs or feature proposals.
- Keep changes tested via
uv run pytestoruv run pytest -n 4for 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.