Developer Documentation

Here we discuss various development-related minutae for \(\text{qCH}_\text{eff}\).

Developer Installation

We use uv for packaging and dependency management. To get started, first install uv using the instructions here. We use tox for task management and environment orchestration. Install the tox-uv plugin using the instructions here.

The pyproject.toml file in the root directory contains the development configuration for this project.

Testing

We use pytest. Tests are located in the tests/ directory. Tests can be run using the following command:

tox r -e 3.11

Linting and Formatting

We use ruff for linting and formatting our source code.

Building documentation

Our documentation is written in [MyST-Markdown], then built to HTML using Sphinx. Docstrings follow the numpydoc style. sphinx-autodoc2 is used to automatic API generation.

Use the following command to start the build server for docs:

tox r -e docs