exoplanet is a toolkit for probabilistic modeling of time series data in astronomy with a focus on observations of exoplanets, using PyMC3. PyMC3 is a flexible and high-performance model building language and inference engine that scales well to problems with a large number of parameters. exoplanet extends PyMC3’s language to support many of the custom functions and distributions required when fitting exoplanet datasets. These features include:
A fast and robust solver for Kepler’s equation.
Scalable Gaussian Processes using celerite.
Fast and accurate limb darkened light curves using starry.
Common reparameterizations for exoplanet-specific parameters like limb darkening and eccentricity.
And many others!
All of these functions and distributions include methods for efficiently calculating their gradients so that they can be used with gradient-based inference methods like Hamiltonian Monte Carlo, No U-Turns Sampling, and variational inference. These methods tend to be more robust than the methods more commonly used in astronomy (like ensemble samplers and nested sampling) especially when the model has more than a few parameters. For many exoplanet applications, exoplanet (the code) can improve the typical performance by orders of magnitude.
exoplanet is being actively developed in a public repository on GitHub so if you have any trouble, open an issue there.
Where to find what you need
🖥 For general installation and basic usage, continue scrolling to the table of contents below.
🖼 For more in depth examples of exoplanet used for more realistic problems, go to the Case studies page.
📈 For more information about scalable Gaussian Processes in PyMC3 (this was previously implemented as part of exoplanet), see the celerite2 documentation page.
👉 For helper functions and PyMC3 extras that used to be implemented as part of exoplanet, see the pymc3-ext project.
License & attribution#
Copyright 2018, 2019, 2020, 2021 Daniel Foreman-Mackey.
The source code is made available under the terms of the MIT license.
If you make use of this code, please cite this package and its dependencies. You can find more information about how and what to cite in the citation documentation.