Installation

species is available on PyPI and GitHub.

It is recommended to install species within a virtual environment.

Installation from PyPI

Using the pip package manager, it is important to first install Cython:

$ pip install cython
$ pip install species

Or, including all dependencies will enable all functionalities of species:

$ pip install 'species[full]'

To update species to the most recent version:

$ pip install --upgrade species

For running free atmospheric retrievals, it is required to separately install petitRADTRANS, but this step can be skipped otherwise:

$ pip install petitRADTRANS

Important

The PyMultiNest package requires the manual installation of MultiNest. Please follow the instructions for the building the library and make sure that the LD_LIBRARY_PATH (on Linux) or DYLD_LIBRARY_PATH (on macOS) environment variable is set. It is possible to use many of the functionalities in species without installing MultiNest.

Installation from GitHub

Using pip

The repository on GitHub contains the latest implementations and can also be installed with pip. The following will include the minimum of required dependencies:

$ pip install git+https://github.com/tomasstolker/species.git

Or, including all dependencies will enable all functionalities of species:

$ pip install 'git+https://github.com/tomasstolker/species.git#egg=species[full]'

Cloning the repository

It is best to clone the repository in case you want to make changes to the code:

$ git clone https://github.com/tomasstolker/species.git

Next, the package is installed by running pip in the local repository folder:

$ pip install -e .

Or, to install with all dependencies:

$ pip install ".[full]"

New commits can be pulled from GitHub once a local copy of the repository exists:

$ git pull origin main

Contributions and pull requests are welcome (see Contributing section). In that case, please fork the species repository on the GitHub page and clone your own fork instead of the main repository.

Testing species

To test the installation, we can initialize a species workflow:

>>> from species import SpeciesInit
>>> SpeciesInit()