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.

Metadata

Release files for exoctk 2026.7.4

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.4
File Size Uploaded
exoctk-2026.7.4.tar.gz 21.6 MB Details

Built distribution (wheel)

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

Total release size: 42.7 MB

Release files / exoctk-2026.7.4.tar.gz

Download URL exoctk-2026.7.4.tar.gz
Size 21.6 MB
Tags Source
SHA-256 checksum
How to use checksums
a85e55b868e6325705e6610bc14f7c2f181ddbf7a15c284c0d81f5cc0e74e2a8
BLAKE2b-256 checksum
How to use checksums
6f35fe05ab689cd2b6c7fe5da4e4cf186d25b01f4ccf0b6884129eabda59354b
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 Sep 29, 2026.

Transparency log

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

Download URL exoctk-2026.7.4-py3-none-any.whl
Size 21.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c7651d8530f4e81859b67c50df6fc857c24f11fb9ff88661c2965142efc461ff
BLAKE2b-256 checksum
How to use checksums
efaead9f26c211b208f911ef7af6bc24bcda5667fafa0eb4676cacc0fbcf9a07
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 Sep 29, 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