Skip to main content

A complete exoplanet archive table.

Project description


Tools to generate and access the exofile, a customized exoplanet archive.

IMPORTANT: exofile is the name of a file and the name of this code (sorry for that). To distinguish between the two in the following text, exofile.ecsv will be used for the file and exofile will be used for the code.

exofile.ecsv is based on the NASA exoplanet archive tables, but allows users to include custom parameters in the final table. The masterfile.ecsv available at is based entirely on the NASA Exoplanet Archive tables (the name will be changed to exofile.ecsv for this file as well in a future release).

Thanks to for advices and corrections:

  • Merrin Peterson
  • Charles Cadieux
  • Taylor Bell
  • Anne Boucher

Also thanks to my supervisors, David Lafrenière and René Doyon!


The idea is to make the most complete table as possible. Here is a scheme of the concept:


Explanations Two files can be load using ExoFile.load()

  • Default The Composite Planetary Systems Table, directly taken from the archive with minor formating.
  • Alternative The Planetary Systems Table is used to build a exofile_alt.ecsv. The references are sorted according to the error on the ephemeride at the present date (this could be changed or improved). All the values from the best reference are used iteratively to fill missing values in the table for the sake of consistency.

The resulting file is called exofile.ecsv or exofile_alt.ecsv and can be used directly. It is also possible to complement this exofile.ecsv with:

  1. a crowdsourced google sheet
  2. a local custom table (default is exofile_custom.csv).

To do so, simply use the following code:

from exofile.archive import ExoFile
data = ExoFile.load()  # or ExoFile.load(use_alt_file=True) for the alternative

data is an instance of ExoFile which is inheriting from astropy.table.Table class (so it has the same behaviour).

NOTE: The Confirmed and Exteneded Planet Tables were retired from the archive in August 2021. Versions of exofile using these tables are therefore out of date.


exofile is available on PyPI. You can install the latest release with

python -m pip install exofile

To install the master branch from GitHub, simply clone the repository and install the project locally with pip.

git clone
cd exofile
python -m pip install -U pip
python -m pip install -U .

You can also install directly from github using python -m pip install -U "git+".

To install exofile for development, it is recommended to use an isolated environment with a tool like conda, virtualenv or venv. Inside your environment, you can install following the steps above, but replacing python -m pip install -U . by python -m pip install -U -e ".[dev]". This will install exofile in editable mode (-e) and it will install the development dependencies.

You can then use exofile with import exofile. See the notebook for examples.


You can change the default parameters file. Take a look at the notebook for examples.

What happened to masterfile ?

This repository used to be named masterfile (and the associated database masterfile.ecsv). It has been rename to avoid name conflicts with an existing Python package called masterfile.

If you have existing code that uses masterfile, these two commands should help:

sed 's/masterfile/exofile/g' <FILES>

sed 's/MasterFile/ExoFile/g' <FILES>

where files is a single file or a list of files. To edit the files directlly (instead of just printing the result of the substitution), add the -i flag to the sed command.

The default files have also be renamed to exofile (except the online one). This can be changed by editing the parameters.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

exofile-0.2.2.tar.gz (652.6 kB view hashes)

Uploaded source

Supported by

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