Skip to main content
ExoCTK Logo https://img.shields.io/github/release/ExoCTK/exoctk.svg https://img.shields.io/github/license/ExoCTK/exoctk.svg Build status Test status https://readthedocs.org/projects/exoctk/badge/?version=latest https://zenodo.org/badge/DOI/10.5281/zenodo.4556063.svg https://img.shields.io/badge/powered%20by-STScI-blue.svg?colorA=707170&colorB=3e8ddd&style=flat

Introduction

ExoCTK is an open-source, modular data analysis package focused primarily on atmospheric characterization of exoplanets. The subpackages included are:

  • Contamination and Visibility Calculator

  • Integrations and Groups Calculator

  • Transit Light-Curve Fitter

  • Limb Darkening Calculator

  • Phase Constraint Calculator

  • Atmospheric Forward Modeling

For more information on each package visit our documentation at readthedocs.

Most packages are also available through interactive tools at our web portal.

Installation

The following are instructions on how to install the exoctk package for both users and contributors. The exoctk repository provides a conda environment containing all of the dependencies needed to install and execute the exoctk software.

Download Anaconda or Miniconda

You must first have a working installation of conda (or mamba) for Python 3. If you do not yet have this on your system, you can visit the following links for download and installation instructions:

Obtain the exoctk Package

To obtain the exoctk package with the necessary environment file, clone the repository directly from GitHub:

git clone https://github.com/ExoCTK/exoctk.git
cd exoctk

Environment Installation

You can create the ExoCTK conda environment via the exoctk-env.yml file with the following conda (or mamba) command:

conda env create -f exoctk-env.yml

One can activate the newly-created environment with:

conda activate exoctk-env

After activating the environment, install exoctk from the cloned source.

Package Installation From Source

To install the latest development version of exoctk use pip to install directly from the cloned source:

pip install -e .

Obtain the exoctk Data

To obtain the necessary data to run ExoCTK, you just need to execute the exoctk.utils.download_exoctk_data() function. This function will download a series of compressed files, extract the files, and organize them into an exoctk_data/ directory. Note that this can only be done once the exoctk package has been fully installed (see instructions above).

Lastly, export an environment variable for EXOCTK_DATA.

  • For Mac OS/Linux, add the line

export EXOCTK_DATA='/path/to/your/unzipped/directory/exoctk_data/'

to your .bashrc or .bash_profile.

  • For Windows, add an environment variable using System Utility.

Missing Dependencies?

If you find that the exoctk environment is missing a required dependency, please feel free to submit a GitHub Issue detailing the problem.

Citation

If you use ExoCTK for work/research presented in a publication (whether directly, or as a dependency to another package), we recommend and encourage the following acknowledgment:

This research made use of the open source Python package exoctk, the Exoplanet Characterization Toolkit (Bourque et al, 2021).

where (Bourque et al, 2021) is a citation of the Zenodo record, e.g.:

@software{matthew_bourque_2021_4556063,
  author       = {Matthew Bourque and
                  Néstor Espinoza and
                  Joseph Filippazzo and
                  Mees Fix and
                  Teagan King and
                  Catherine Martlin and
                  Jennifer Medina and
                  Natasha Batalha and
                  Michael Fox and
                  Jules Fowler and
                  Jonathan Fraine and
                  Matthew Hill and
                  Nikole Lewis and
                  Kevin Stevenson and
                  Jeff Valenti and
                  Hannah Wakeford},
  title        = {The Exoplanet Characterization Toolkit (ExoCTK)},
  month        = feb,
  year         = 2021,
  publisher    = {Zenodo},
  version      = {1.0.0},
  doi          = {10.5281/zenodo.4556063},
  url          = {https://doi.org/10.5281/zenodo.4556063}
}

Want to stay up-to-date with our releases and updates?

Subscribe to our newsletter by sending an email with a blank body and subject to exoctk-news-subscribe-request@maillist.stsci.edu from the email you want to enroll. You should then receive a confirmation email with instructions on how to confirm your subscription, please be sure to do so within 48 hours.

Release files for exoctk 2026.7

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

Source distribution (sdist)

Source distribution for exoctk 2026.7
File Size Uploaded
exoctk-2026.7.tar.gz 21.6 MB Details

Built distribution (wheel)

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

Total release size: 42.6 MB

Release files / exoctk-2026.7.tar.gz

Download URL exoctk-2026.7.tar.gz
Size 21.6 MB
Tags Source
SHA-256 checksum
How to use checksums
5a743d1c2ce03d33ff6c7f3b52bbf4552e6c5851c58450a81abc8b4841f26058
BLAKE2b-256 checksum
How to use checksums
7beaa77b71adb11b7c87845476b5261b7a9dd275a2eca825b548b24ace21e34b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 11, 2026.

Transparency log

Release files / exoctk-2026.7-py3-none-any.whl

Download URL exoctk-2026.7-py3-none-any.whl
Size 21.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
62f0347f878953a6b3175529d62b26089e26b353724452aa54b13b5c8cea88b7
BLAKE2b-256 checksum
How to use checksums
4f416a0dffa409a269598d45f59cae8f4f47e70da67cdfc51c8985e8eabca125
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 11, 2026.

Transparency log
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