Development environment

uv sync --group dev
uv run pytest -m "not slow"
uv run black --check mrrpropy tests
uv run mypy

Repository conventions

Scientific code boundaries

The repository separates workflow improvements from scientific changes. Packaging, documentation, CI, typing and test structure can evolve independently of the RaProMPro scientific kernels. Behavioural changes in the scientific modules should be validated with the equivalence tests already present in the suite.

Documentation build

python -m pip install ".[docs]"
python scripts/build_docs.py
python -m http.server 8000 --directory site

The docs site uses static HTML pages for the narrative sections and pdoc for the API reference.

Typing scope

Typing currently focuses on the extracted public-package surface used for release safety: the analysis, processing, plotting, hexagram and cli modules. The long retained scientific kernels are typed more conservatively to avoid accidental behavioural change during refactors.