squishyplanet

What squishyplanet is
squishyplanet is a free Python package for producing light curves and phase curves for non-spherical exoplanets. It models triaxial planets deformed by rotation or tidal forces, generating curves that users can compare with data. Its OblateSystem class creates transit, eclipse, and phase-curve models for oblate planets. Users can supply coefficients for polynomial stellar limb-darkening profiles at arbitrary order, and oversample and integrate light curves to account for finite exposure times. Built on JAX, the package returns JAX arrays and can run on GPUs or TPUs, though it is not optimized for GPU use and may perform poorly there. Documentation estimates transit-only calculations at tens of milliseconds and phase-curve evaluations at hundreds of milliseconds; gradient-dependent methods such as HMC are likely impractical currently. The package is available under the MIT License. Installation uses pip on Mac and Linux; Windows may require compatible JAX and jaxlib versions to be set up first. The maintainers invite questions and ask users to report problems through GitHub issues.
Who it suits
squishyplanet is aimed at researchers and others modeling non-spherical exoplanet transits and related light curves. It may suit users who need to compare oblate-planet models with high-precision data.
What it does well
- Models transit, eclipse, and phase curves
- Supports arbitrary-order polynomial limb-darkening profiles
- Can account for finite exposure times
- Free under the MIT License
What to know first
- Not optimized for GPU use and may perform poorly there
- Windows setup may require compatible JAX and jaxlib versions
- Gradient-dependent methods such as HMC are likely impractical currently
Limits
The package is free, but documentation says gradient-dependent methods such as HMC are likely impractical currently. It is not optimized for GPU use, and Windows installation may require compatible JAX and jaxlib versions first.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| squishyplanet | Python package · MIT License · install with pip | Free |
As squishyplanet.readthedocs.io lists them, read 5 Oct 2026. The maker's own page has the final word.
Getting started
- Open the project documentation at https://squishyplanet.readthedocs.io/en/latest/.
- Install the package with pip on Mac or Linux.
- On Windows, first set up compatible JAX and jaxlib versions if needed.
- Use the OblateSystem class to generate models.
- Report problems as GitHub issues or contact the maintainers with questions.
Verdict
squishyplanet focuses on light-curve modeling for non-spherical exoplanets, with options for limb darkening and finite exposure times. Consider its stated performance limits and platform setup requirements when choosing it for a workflow.
Questions
How much does squishyplanet cost?
The listed plan is free. The project is open source under the MIT License.
What platforms does it support?
The listed platforms are Linux and Windows. Installation uses pip on Mac and Linux; Windows may require compatible JAX and jaxlib versions first.
What can it model?
Its OblateSystem class generates transit, eclipse, and phase-curve models for oblate planets. It can model triaxial exoplanets deformed by rotation or tidal forces.
Does it support limb darkening and finite exposure times?
Yes. Users can supply coefficients for polynomial stellar limb-darkening profiles at arbitrary order, and light curves can be oversampled and integrated for finite exposure times.
Can it run on GPUs?
JAX permits GPU or TPU execution, but the package is not optimized for GPU use and may perform poorly there.
Facts from squishyplanet's own pages
- Audience
- The package is aimed at users modeling non-spherical exoplanet transits and related light curves, including researchers analyzing high-precision data. · squishyplanet.readthedocs.io, 5 Oct 2026
- Exposure correction
- Lightcurves can be oversampled and integrated to account for finite exposure times. · squishyplanet.readthedocs.io, 5 Oct 2026
- GPU limit
- Although it can run on GPUs or TPUs through JAX, it is not optimized for GPU use and may perform poorly there. · squishyplanet.readthedocs.io, 5 Oct 2026
- Installation
- The package installs with pip on Mac and Linux; Windows installation may require setting up compatible JAX and jaxlib versions first. · squishyplanet.readthedocs.io, 5 Oct 2026
- Integration
- The package is built on JAX and returns JAX arrays; its documentation links to jaxoplanet and starry for comparisons or implementation context. · squishyplanet.readthedocs.io, 5 Oct 2026
- License
- The project is freely available under the MIT License. · github.com, 5 Oct 2026
- Limb darkening
- It supports polynomial stellar limb-darkening profiles at arbitrary order, with coefficients supplied by the user. · squishyplanet.readthedocs.io, 5 Oct 2026
- Modeling
- It models triaxial exoplanets deformed by rotation or tidal forces and generates models for users to compare with data. · squishyplanet.readthedocs.io, 5 Oct 2026
- Performance limit
- The documentation estimates transit-only calculations at tens of milliseconds and phase-curve evaluations at hundreds of milliseconds, and says gradient-dependent methods such as HMC are likely impractical currently. · squishyplanet.readthedocs.io, 5 Oct 2026
- Primary interface
- The OblateSystem class generates transit, eclipse, and phase curve models for oblate planets. · squishyplanet.readthedocs.io, 5 Oct 2026
- Purpose
- A lightweight Python package for producing lightcurves and phase curves of non-spherical exoplanets. · squishyplanet.readthedocs.io, 5 Oct 2026
- Support
- The maintainers ask users to report problems as GitHub issues and welcome questions to the maintainers. · squishyplanet.readthedocs.io, 5 Oct 2026
Where squishyplanet stands on Freedom251
- Astronomy Apps#27 of 35