Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Tools for working with Kepler data in Python

Project description

Python bindings for the MAST interface to the Kepler dataset.

Installation

You can install the module by running:

pip install kplr

If you want to access the MAST API, you’ll need the requests module and if you want to load light curve data sets, you’ll need numpy and pyfits.

Usage

You’ll access the API using a kplr.API object:

import kplr
client = kplr.API()

To get information about the planet “Kepler 62b” (for example), you would run the command:

planet = client.planet("62b")  # or "Kepler-62 b"

This object has a lot of attributes (with names given by the MAST documentation) such as a period:

print(planet.koi_period)
# 5.715

For some reason, the KOI table tends to have more precise measurements so we can look at that instead:

koi = planet.koi
print("{0.koi_period} ± {0.koi_period_err1}".format(koi))
# 5.71493 ± 0.00019

The attributes of the KOI object are given in the MAST description of the kepler/koi table. You can also directly query the KOI table using:

koi = client.koi("256.01")

To download all the data for this KOI (or equivalently, the above planet), you can try:

datasets = [dataset.fetch() for dataset in koi.data]

This will download the FITS files containing the light curves to the directory given by the KPLR_DATA_DIR environment variable (or ~/.kplr/data by default). To load one of the files, you’ll need to make sure that you have pyfits installed and then you can use the Dataset object:

data = kplr.Dataset(datasets[0].filename)

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page