Introduction to ExoMole
Meet ExoMole, a creature that feeds on data and meta-data files of the
ExoMol database.
The exomole
package provides code for parsing, validation and access to the ExoMol
meta-data and data.
The package is primarily used for ExoMol database developers and maintainers, as most of
the features require access to the ExoMol files. The code therefore works the best if
installed directly on the ExoMol server.
Nevertheless, several features of the package are also relevant from outside the ExoMol
production server, tapping into the ExoMol public API defined in the database
release paper.
Installation:
The exomole
package can be installed either from PyPI
python3 -m pip install exomole
or from the GitHub page
python3 -m pip install git+https://github.com/hanicinecm/exomole.git
Package:
The code in the package is organised into several modules. The read_all
and
read_def
modules contain functionality for parsing, validation and analysis of the
ExoMole's .all and .def meta-data files, while the read_data
module groups
functionality for reading and validating the .states and .trans data files.
The documentation describes some examples of usage of the package. For further documentation, refer to the codebase docstrings.
For Developers:
It goes without saying that any development should be done in a clean virtual
environment.
After cloning or forking the project from its GitHub page, exomole
can be
installed into the virtual environment in the editable mode by running
pip install -e .[dev]
The [dev]
extra installs (apart from the package dependencies) also several
development-related packages, such as pytest
, black
, tox
or ipython.
The tests can then be executed by running (from the project root directory)
pytest
The project does not have the requirements.txt
file by design, as all the package
dependencies are rather handled by the setup.py
.
The package therefore needs to be installed locally to run the tests, which grants the
testing process another layer of usefulness.
Docstrings in the project adhere to the numpydoc styling.
The project code is formatted by black
.
Always make sure to format your code before submitting a pull request, by running
black
on all your python files.