Developer Guide
Setting Up the Development Environment
-
Clone the repository:
-
Install development dependencies:
Or using Pixi:
Running Tests
We use pytest for testing.
To run all tests:
To run tests with coverage:
Integration tests
pytest on its own skips the integration suite in tests/integration
(addopts in pyproject.toml deselects the integration marker). That suite
runs every examples/*_example.py script end to end, unmodified, in a
temporary working directory with the example data files copied in, and with
fig.show() turned into a no-op so no browser opens. It takes several
minutes. Run it with:
or, without Pixi:
The Integration GitHub workflow runs the same suite on Linux, Windows and
macOS for pull requests into main from a release-* branch, every Sunday,
and on demand from the Actions tab. A new example script is picked up
automatically if its name ends in _example.py. If it reads a data file from
the working directory, add the file to DATA_FILES in
tests/integration/conftest.py.
Building Documentation
The documentation is built using MkDocs.
To serve the documentation locally:
To build the static site:
Code Style
This project follows PEP 8 guidelines. We use ruff for linting and formatting.
To check for linting errors:
To format code: