Development¶
Local setup¶
uv sync --group dev
This installs the package in editable mode and builds the compiled Python extension. Source installs require CMake and a C++20 compiler toolchain; they are not only CLI prerequisites.
Run tests¶
uv run pytest -q
Build C++ targets¶
Use this when you also want the standalone tcm_fit_tacs CLI target:
cmake -S . -B build -DPython_EXECUTABLE=$(uv run python -c 'import sys; print(sys.executable)')
cmake --build build
Build documentation¶
Install documentation dependencies:
uv sync --group docs
Build the static site:
uv run mkdocs build
Serve locally:
uv run mkdocs serve
The site is configured for https://kinepet.salodev.no/.
Validation checklist¶
After solver, binding, or CLI changes, run:
uv run pytest -q
cmake -S . -B build -DPython_EXECUTABLE=$(uv run python -c 'import sys; print(sys.executable)')
cmake --build build
If CLI-facing behavior changes, also run tcm_fit_tacs on a small synthetic TAC batch.