Skip to main content

Python package PyPI - Python Version Upload Python Package PyPI - Version

Static Badge

CONAN

COde for exoplaNet ANalysis: A flexible bayesian framework for modeling heterogeneous exoplanet data


CONAN (COde for exoplaNet ANalysis) is an open-source Python package to perform comprehensive analyses of exoplanetary systems. It provides a unified framework for simultaneous modeling of diverse observational data including photometric transit light curves, occultations, phase curves, and radial velocity measurements. It is designed to be flexible, easy to use, and fast.

It is developed and maintained at the Observatory of Geneva, Switzerland under the MIT license.

Key features:

  • Multi-dataset analysis: Seamless analysis of combined lightcurve (LC) and radial velocity (RV) datasets from various instruments (see Notebooks: 1, 2 ).
  • Multiplanet support: Simultaneous fit to multiple planets in a single system (see Notebooks: 2, 3).
  • Comprehensive photometric modeling: Robust modeling of transits, occultations, and phase curves, including effects such as ellipsoidal variations and Doppler beaming (see Model definition and Notebooks: 6, 7).
  • Modeling time- and wavelength-dependent signals: Analysis of light curves with transit timing variations (TTVs) and transit depth variations (transmission spectroscopy) (see Notebooks: 3).
  • Flexible baseline and noise modeling: Selection of one or combination of polynomial, sinusoidal, multi-D Gaussian Processes (GP), and 2-D spline functions for data detrending (see Notebooks: 1, 2, 3, 4 ).
  • Extensible and customizable modeling: Users can easily incorporate new LC and RV models or modify default ones to suit specific needs, e.g., modeling the transit of non-spherical planets, Rossiter–McLaughlin signals, complex baselines, or even non-planetary signals (see Notebook: 6).
  • Robust Bayesian inference: Parameter estimation and/or model comparison via nested sampling with dynesty or Markov-Chain Monte Carlo sampling with emcee.
  • Derivation of priors on limb darkening coefficients: Derive priors for the quadratic limb darkening coefficients from the stellar parameters using ldtk (see Notebooks: 5).
  • Automated selection of parametric model parameters: Uses the Bayesian Information Criterion to suggest best combination of cotrending basis vectors to use in decorrelating the data (see Notebooks: 5).
  • Science data download: Built-in support for downloading data from various instruments (including TESS, CHEOPS, Kepler, and K2) and also system parameters from NASA Exoplanet Archive (see Notebooks: 2, 3).
  • Quick result visualization and manipulation: Instant plot of the best-fit model and a result object that can be easily manipulated for customized analysis (see Notebooks: 2, 5).

The full documentation can be accessed at https://conan-exoplanet.readthedocs.io. The github wiki details specific CONAN functionalities

Installation

To avoid requirement conflicts with other packages, it is better to create a new environment (or clone a current environment) to install CONAN

To create a new environment:

conda create -n conan_env python=3.10

then

conda activate conan_env

CONAN can be installed using different methods:

1) Installing from PyPI:

pip install conan-exoplanet

2) Downloading the source files from github:

git clone https://github.com/titans-ge/CONAN.git
cd CONAN 

then running

pip install .

3) Installing directly from github using pip

pip install git+https://github.com/titans-ge/CONAN.git

Note that a folder 'src' is created where the CONAN source files are downloaded to before installation.


If having troubles compiling the fortran code used for the transit model, set NO_FORTRAN=True in terminal before pip installing. This uses a python with numba implementation of the fortran code (it is just as fast)

export NO_FORTRAN=True
pip install git+https://github.com/titans-ge/CONAN.git

Recent changes

See change_log.rst

Fitting data

CONAN can be run interactively in python shell/Jupyter notebook, but can also be quickly launched from configuration files (.dat or .yaml).

Here are sample .dat and .yaml configfiles for fitting the lightcurves and RVs of WASP-127b.

Fitting from a config file can be launched within python or from the command line

  • Within python

    from CONAN import fit_configfile
    result = fit_configfile("input_config.dat", out_folder="output")
    
  • from command line:

    conanfit path/to/config_file output_folder 
    

    to see commandline help use:

    conanfit -h  
    

Attribution

If you find CONAN useful in your research, please reference the GitHub repository. The first implementations of CONAN have been descibed in a few papers, kindly cite them using the following BibTeX entries:

@ARTICLE{2025arXiv250820196A,
       author = {{Akinsanmi}, Babatunde and {Lendl}, Monika and {Krenn}, Andreas},
        title = "{CONAN: A Python package for modeling lightcurve and radial velocity data of exoplanetary systems}",
      journal = {arXiv e-prints},
     keywords = {Instrumentation and Methods for Astrophysics, Earth and Planetary Astrophysics},
         year = 2025,
        month = aug,
          eid = {arXiv:2508.20196},
        pages = {arXiv:2508.20196},
          doi = {10.48550/arXiv.2508.20196},
archivePrefix = {arXiv},
       eprint = {2508.20196},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2025arXiv250820196A},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{2017A&A...606A..18L,
        author = {{Lendl}, M. and {Cubillos}, P.~E. and 
                    {Hagelberg}, J. and 
                    {M{\"u}ller}, A. and 
                    {Juvan}, I. and 
                    {Fossati}, L.},
            title = "{Signs of strong Na and K absorption in the transmission spectrum of WASP-103b}",
        journal = {\aap},
            year = 2017,
            month = sep,
        volume = {606},
            eid = {A18},
            pages = {A18},
            doi = {10.1051/0004-6361/201731242},
    archivePrefix = {arXiv},
        eprint = {1708.05737},
    primaryClass = {astro-ph.EP},
        adsurl = {https://ui.adsabs.harvard.edu/abs/2017A&A...606A..18L},
        adsnote = {Provided by the SAO/NASA Astrophysics Data System}
    }


@ARTICLE{2020MNRAS.492.1761L,
       author = {{Lendl}, Monika and 
                {Bouchy}, Fran{\c{c}}ois and 
                {Gill}, Samuel and 
                {Nielsen}, Louise D. and 
                {Turner}, Oliver and 
                {Stassun}, Keivan and 
                {Acton}, Jack S. and 
                {Anderson}, David R. Edward, 
                et al},
        title = "{TOI-222: a single-transit TESS candidate revealed to be a 34-d eclipsing binary with CORALIE, EulerCam, and NGTS}",
      journal = {\mnras},
         year = 2020,
        month = feb,
       volume = {492},
       number = {2},
        pages = {1761-1769},
          doi = {10.1093/mnras/stz3545},
archivePrefix = {arXiv},
       eprint = {1910.05050},
 primaryClass = {astro-ph.EP},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2020MNRAS.492.1761L},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Metadata

Release files for conan-exoplanet 3.3.15

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

Source distribution (sdist)

Source distribution for conan-exoplanet 3.3.15
File Size Uploaded Provenance Actions
conan_exoplanet-3.3.15.tar.gz 239.3 kB Without provenance Details for conan_exoplanet-3.3.15.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for conan-exoplanet 3.3.15
File Interpreter ABI Platform Actions
conan_exoplanet-3.3.15-py3-none-any.whl Python 3 none any Details for conan_exoplanet-3.3.15-py3-none-any.whl

Total release size: 477.5 kB

Release files / conan_exoplanet-3.3.15.tar.gz

Download URL conan_exoplanet-3.3.15.tar.gz
Size 239.3 kB
Tags Source
SHA-256 checksum
How to use checksums
80150a1688169b661f206ce330ae678d46edf7948a15eed25d9c95d5193ea5b8
BLAKE2b-256 checksum
How to use checksums
0304e2b1f3f591185fbe194918b2f754a7f5d7f9444c965e57e5008d0e4fc935
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / conan_exoplanet-3.3.15-py3-none-any.whl

Download URL conan_exoplanet-3.3.15-py3-none-any.whl
Size 238.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
100ed533ad4b06db6888e6e3b00a851e141328fbe06fd1c02ae30864b602d791
BLAKE2b-256 checksum
How to use checksums
9b95d2425fcf69198ee4e39e25916903d066da7497af73f0e1ac9cb3f2a5dc98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for conan-exoplanet 3.3.15

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