Skip to main content

Pipeline for detecting circumbinary planets in TESS light curves

Project description

mono-cbp: Search for Monotransits of Circumbinary Planets

A Python package for detecting circumbinary planets in TESS eclipsing binary light curves through the identification of single transit events ("monotransits").

Python Version License: GPL v3

Overview

mono-cbp is a pipeline designed to systematically search for circumbinary planets by detecting individual transit signatures in TESS eclipsing binary systems. The pipeline automates the complete workflow from masking stellar eclipses, threshold crossing event (TCE) detection, Bayesian vetting, and completeness analysis, making it easy to process large catalogues of eclipsing binaries.

Key Features

  • Eclipse Masking: Automatically mask primary and secondary eclipses in eclipsing binary light curves using eclipse positions and widths and binary ephemeris provided by an input catalogue
  • Transit Detection: Removes unwanted trends from the input light curves and performs single-event detection using the by identifying Threshold Crossing Events (see Hawthorn et al. 2024)
  • Bayesian Model Comparison: Event classification to discern transit-like events and systematics/detrending artefacts
  • Injection-Retrieval Testing: Completeness analysis through synthetic transit injection and recovery statistics
  • Modular Architecture: Use individual components independently or run the complete integrated pipeline
  • Configuration-Driven: Easily customise parameters via Python dictionaries or JSON files without modifying code
  • Command-Line Interface: Shell scripts and CLI subcommands for batch processing and reproducibility

Installation

Requirements

  • Python 3.8 or higher (tested most rigourously with Python 3.9)

From Source

git clone https://github.com/bdrdavies/mono-cbp.git
cd mono-cbp
pip install -e .

It is advisable to install mono-cbp into a Python environment using your favourite package manager, e.g. for conda:

conda create --name mono-cbp
conda activate mono-cbp
# Install from source as above

This installs the package in editable mode and creates the mono-cbp command-line tool.

To check that the installation has been successful, you can run the following

python -c "import mono_cbp; print(mono_cbp.__version__)"

Dependencies

See requirements.txt for the complete dependency list and exact versions.

Troubleshooting Installation

  • scipy>=1.13.0 may cause compatibility issues with PyMC 5.12.0; use scipy<1.13.0
  • PyTensor version must match PyMC 5.12.0 requirements (2.19.0)

Examples & Tutorials

There are a series of Jupyter notebooks in the examples/ directory to demonstrate how to use the package in your own code:

  1. 00_download_light_curves.ipynb - Download TESS light curves in the mono-cbp format using lightkurve
  2. 01_complete_pipeline.ipynb - End-to-end workflow on sample data
  3. 02_eclipse_masking.ipynb - Eclipse masking demo
  4. 03_transit_finding.ipynb - TCE detection example
  5. 04_model_comparison.ipynb - Bayesian model comparison example
  6. 05_injection_retrieval.ipynb - Completeness testing

Documentation

Documentation is available in the docs/ directory:

Support & Contact

For questions, issues, or feature requests:

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

mono_cbp-0.1.2.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

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

mono_cbp-0.1.2-py3-none-any.whl (71.7 kB view details)

Uploaded Python 3

File details

Details for the file mono_cbp-0.1.2.tar.gz.

File metadata

  • Download URL: mono_cbp-0.1.2.tar.gz
  • Upload date:
  • Size: 66.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for mono_cbp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9b7a8b6d1cdd076187e7c202bf690b424f874a29de26f14cf8690f626ccaf251
MD5 8e26c6a0cbe8fd01e7815487b2ea5ee3
BLAKE2b-256 1fc58a404d899163f2ae7645e2e4bc83a1ae2450fa1f73dac47d6fed83f73222

See more details on using hashes here.

File details

Details for the file mono_cbp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mono_cbp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 71.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for mono_cbp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1746a213a03d06db8c9c82c5fb4d0b88e9019c55e78405b918f9bec83d09da1c
MD5 860da833eb7685c9ba25f4acab6eb93b
BLAKE2b-256 ab6970e6470b442c22dc1090a81b72f7bce274a10e5d9ef16c01b10ce199595a

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