A package for parsing and validation of Exomol Database data files


Keywords
exomol
License
MIT
Install
pip install exomole==1.2.12

Documentation

Test action Codecov report GitHub license PyPI version PyPI pyversions Code style

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.