Skip to content

AntoineDarveau/exofile

Repository files navigation

Exofile

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 http://www.astro.umontreal.ca/~adb/ 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!

Concept

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

Concept_scheme

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.

Installation

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 https://github.com/AntoineDarveau/exofile.git
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+https://github.com/AntoineDarveau/exofile.git#egg=exofile".

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.

Customize

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published