DebrisPy
Welcome to DebrisPy — a lightweight Python package designed to compute the azimuthally averaged (radial) profiles of surface density profiles in debris discs.
Installation
- The package can be installed via PyPI directly:
pip install debrispy
- For development, clone the repository and install in editable mode:
git clone https://github.com/DenizAkansoy/DebrisPy.git
cd DebrisPy
pip install -e .
Important: DebrisPy requires Python 3.8 or higher.
Features
DebrisPy provides tools for:
- defining semi-major-axis surface-density profiles;
- specifying unique eccentricity profiles or eccentricity distributions;
- constructing eccentricity kernels for ASD calculations;
- computing azimuthally averaged surface-density profiles;
- validating and visualising results with Monte Carlo sampling;
- using built-in profiles or arbitrary user-defined functions;
- optional adaptive gridding, interpolation, and parallelisation for more demanding calculations.
Important Note: custom functions must be vectorised
User-supplied functions should be vectorised. DebrisPy evaluates many profiles and distributions on NumPy arrays, so scalar Python conditionals such as if/else will usually fail or behave incorrectly.
For example, avoid:
def bad_profile(a):
if a < 50:
return 0.0
return a**-1
Use NumPy-aware operations instead:
import numpy as np
def good_profile(a):
return np.where(a < 50, 0.0, a**-1)
Boolean masks and array arithmetic are also suitable.
Documentation
The full documentation is available at debrispy.readthedocs.io.
The documentation includes worked examples, API references, implementation notes, and notebook-based tutorials.
The documentation source files are also located in:
docs/source/
Repository structure
debrispy/ Core package code
docs/source/ Sphinx documentation source
examples/ Example notebooks and scripts
tests/ Test suite
assets/ README/demo assets
Examples
Example notebooks are provided in the examples/ directory. These demonstrate how to define input profiles, construct eccentricity kernels, compute ASD profiles, and compare semi-analytic calculations with Monte Carlo realisations.
Dependencies
Core dependencies are installed automatically when installing DebrisPy with:
pip install debrispy
These include:
numpyscipymatplotlibfast_histogramadaptivetqdmjoblib
Additional optional dependencies are needed for development, testing, and building the documentation.
For development and testing:
pip install -e ".[dev]"
This installs additional packages such as:
pytestipykernelnotebook
For building the documentation locally:
pip install -e ".[docs]"
This installs additional packages such as:
sphinxsphinx-rtd-thememyst-parsernbsphinx
Testing
To run the test suite, clone the repository and install the optional development dependencies:
git clone https://github.com/DenizAkansoy/DebrisPy.git
cd DebrisPy
pip install -e ".[dev]"
pytest tests/
Acknowledgments
If you use DebrisPy (or parts of its code) in your research, we would greatly appreciate it if you cited the paper introducing the package:
@article{Rafikov2026,
author = {Roman R. Rafikov and Deniz Akansoy and Antranik A. Sefilian},
title = {Debris Disc Substructures Induced by Secular Planetary Perturbations},
journal = {arXiv e-prints},
year = {2026},
eprint = {2607.08750},
archiveprefix = {arXiv},
primaryclass = {astro-ph.EP},
doi = {10.48550/arXiv.2607.08750}
}
Contact
For questions, bug reports, or feedback, please open an issue on GitHub or contact Deniz Akansoy at da619@cam.ac.uk.
Metadata
Release files for debrispy 0.1.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 | |
|---|---|---|---|---|
| debrispy-0.1.1.tar.gz | 57.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| debrispy-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.8 kB
Release files / debrispy-0.1.1.tar.gz
| Download URL | debrispy-0.1.1.tar.gz |
|---|---|
| Size | 57.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e7c151e566764a57c93fe2d5e6618ac9bb26155ed4dddc9f049c4f6f2e4bd8c8
|
|
BLAKE2b-256 checksum How to use checksums |
671601bed48cefa09db904522b229226547ae29f0ba62494e718979706763681
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency logRelease files / debrispy-0.1.1-py3-none-any.whl
| Download URL | debrispy-0.1.1-py3-none-any.whl |
|---|---|
| Size | 53.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0222caf6f471e260b91947c2171f8881f930c18a99bcac73de49e5c933beff28
|
|
BLAKE2b-256 checksum How to use checksums |
acd111b9efe492312f6a34199c3a0ecd711ff97b2ff02fe87aac1fe1db587c09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency logSecurity for debrispy 0.1.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for debrispy-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 16, 2026.
Transparency logA 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.