Contributing
Setting up the environment
bash scripts/setup_env.sh
source .venv/bin/activate
Recommended workflow
Create a branch off
main:git checkout -b feat/my-feature.Write code and add tests in
tests/.Run quality checks before pushing:
ruff check src tests mypy src pytest
Rebuild the docs and check that they compile without warnings:
cd docs && make clean html
Conventions
Magnetic sign convention:
H = +Σ_{i≠j} J_ij S_i·S_j(AFM > 0).Type hints are required on the public API.
Docstrings in Google or NumPy style (Napoleon accepts both).
ruffsettings: 100-char line length, rulesE F W I N UP B C4 SIM.Unit tests for every new feature or bug fix.
Physics-style names (
JS2,Jq,q_cart) are allowed —ruffignoresN803andN806.