species
is compatible with Python versions 3.8/3.9/3.10 and is available in the PyPI repository and on Github.
Important
Before installing species
, it is required to separately install cython
and petitRADTRANS
:
$ pip install cython
$ pip install petitRADTRANS
The installation petitRADTRANS
can be somewhat challenging on some machines. It is possible to skip the installation of this package, in which case it is still possible to use species
, apart from the functionalities that rely on petitRADTRANS.
The species
toolkit can now be installed with the pip package manager:
$ pip install species
Or, to update to the most recent version:
$ pip install --upgrade species
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 also possible to use species
without installing MultiNest
(but a warning will appear), apart from the functionalities that rely on PyMultiNest
.
The repository on Github contains the latest implementations and can also be installed with pip (please update pip
to a recent version if needed):
$ pip install git+https://github.com/tomasstolker/species.git
Alternatively, in case you want to look into the code, it is best to clone the repository:
$ git clone https://github.com/tomasstolker/species.git
Then, the package is installed by running pip
in the local repository folder:
$ pip install -e .
New commits can be pulled from Github once a local copy of the repository exists:
$ git pull origin main
Do you want to make changes to the code? Please fork the species repository on the Github page and clone your own fork instead of the main repository. Contributions and pull requests are welcome (see :ref:`contributing` section).
The installation can now be tested, for example by starting Python in interactive mode and initializing a workflow in the current working folder:
>>> import species
>>> species.SpeciesInit()