Skip to main content

A pure-Python package to download data from the Extrasolar Planets Encyclopaedia

Project description

A pure-Python package to download data from the Extrasolar Planets Encyclopaedia

This small package downloads all the data from the exoplanet.eu online catalogue of exoplanets and builds a (custom) dictionary with each column. It is a pure-Python package with no extra dependencies (see below).

License MIT Travis build PyPI version

How to use

Install it from pip (pyExoplaneteu has no extra depencies)

pip install pyExoplaneteu

and it’s ready to use from Python

import pyexoplaneteu

pyExoplaneteu has one simple function, get_data(), which downloads the data from the online archive and returns it in a dictionary.

>>> data = pyexoplaneteu.get_data()
Downloading exoplanet.eu data
Saved exoplanet.eu data to $HOME/.pyexoplaneteu/exoplanetEU.csv
Data in `exoplanetEU.csv` is recent.
There are 98 columns with 3793 entries each in `exoplanetEU.csv`

where $HOME will be your home directory. The second time you call get_data() it will check if the data was downloaded recently, and only conditionally download it again.

>>> data = pyexoplaneteu.get_data()
Data in `exoplanetEU.csv` is recent.
There are 98 columns with 3793 entries each in `exoplanetEU.csv`

Now, data is (basically) a Python dictionary with the each column as keys. But it has a couple extra methods and properties. For example

>>> data.size
3793

returns the number of values in each column. The columns() method

>>> data.columns()
['name', 'planet_status', 'mass', 'mass_error_min', 'mass_error_max',
 'mass_sini', 'mass_sini_error_min', 'mass_sini_error_max', 'radius',
  'radius_error_min', 'radius_error_max', 'orbital_period',
  ...

will print the available columns.

The columns can be accessed as in a normal dictionary, with

data['name']  # the name of the planet
data['mass']  # the mass of the planet
data['star_radius']  # the radius of the host star

Also, to drop the NaN values in a column (for some columns there will be quite a few) we can use

data['mass_nonan']

np.isnan(data['mass']).any()       # True
np.isnan(data['mass_nonan']).any() # False

which allows us to more easily do histograms of the values.

Finnally, the .to_numpy(inplace=True) method converts all the columns to numpy arrays, either in place or not (this is the only function in pyExoplaneteu that requires numpy).

License

Copyright 2018 João Faria.

pyExoplaneteu is free software made available under the MIT License. For details see the LICENSE file.

Project details


Download files

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

Files for pyExoplaneteu, version 1.0.1.post1
Filename, size & hash File type Python version Upload date
pyExoplaneteu-1.0.1.post1-py3-none-any.whl (7.9 kB) View hashes Wheel py3
pyExoplaneteu-1.0.1.post1.tar.gz (5.0 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page