Skip to content

A Python package to download data from SWEET-Cat

License

Notifications You must be signed in to change notification settings

j-faria/pySWEETCat

Repository files navigation

pySWEETCat

A pure-Python package to download data from SWEET-Cat.

This small package was developed as an exercise in a Python course (see CONTRIBUTORS). It downloads all the data from the SWEET-Cat online catalogue of stellar parameters and builds a (custom) dictionary with each column. It is a pure-Python package with no extra dependencies (see below).

License MIT PyPI version

How to use

Install it from pip (pySWEETCat has no extra depencies)

pip install pySWEETCat

and it's ready to use from Python

import pysweetcat

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

>>> data = pysweetcat.get_data()
Downloading SWEET-Cat data
Saved SWEET-Cat data to $HOME/.pysweetcat/SWEET_cat.csv
Data in `SWEET_cat.csv` is recent.
There are 25 columns with 2627 entries each in `SWEET_cat.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 = pysweetcat.get_data()
Data in `SWEET_cat.csv` is recent.
There are 25 columns with 2627 entries each in `SWEET_cat.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
2627

returns the number of values in each column.

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

data['feh']   # stellar metallicity
data['name']  # name of the star

and both of these will work

data['σ_vmag']
data['sigma_vmag']

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

data['teff_nonan']

np.isnan(data['teff']).any()       # True
np.isnan(data['teff_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 pySWEETCat that requires numpy).

License

Copyright 2018 João Faria.

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

About

A Python package to download data from SWEET-Cat

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages