Contributing

Setting up the environment

bash scripts/setup_env.sh
source .venv/bin/activate

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).

  • ruff settings: 100-char line length, rules E 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 — ruff ignores N803 and N806.