Contributing¶
We welcome contributions from collaborators, students, and the broader behavioural neuroscience community.
Development setup¶
git clone https://github.com/zerotonin/thermokourt.git
cd thermokourt
pip install -e ".[dev,track]"
For GPU-dependent stages (auto-scoring), also install the score extra:
pip install -e ".[dev,track,score]"
Running the test suite¶
pytest
To match the CI matrix locally, run with coverage:
pytest --cov=thermokourt --cov-report=term
Linting¶
ruff check .
Auto-fix where possible:
ruff check . --fix
Building the docs locally¶
pip install -r docs/requirements.txt
sphinx-build -b html docs/ docs/_build/html
open docs/_build/html/index.html # macOS
xdg-open docs/_build/html/index.html # Linux
Commit conventions¶
Atomic commits, one logical change per commit. Follow Conventional Commits-ish prefixes:
Prefix |
Use for |
|---|---|
|
New feature in |
|
Bug fix in |
|
Restructure without behaviour change |
|
Documentation only |
|
Test additions or fixes |
|
Continuous integration changes |
|
Tooling, dependencies, housekeeping |
Pull request workflow¶
Fork and create a feature branch from
main.Run
pytestandruff check .locally.Open a PR against
main. Thetestsanddocsworkflows must pass.Tag a reviewer (Bart for stage 1–3 changes; Alex for scoring).