Legal Notice: By contributing (issues, PRs, discussions) you accept the beta/Testnet risk, absence of warranties, and non-advice clauses defined in
docs/LEGAL_DISCLAIMER.md. Do not submit proprietary or sensitive personal data.
Thanks for contributing! This guide helps you set up a consistent dev environment and workflow.
- Python 3.12 recommended.
- Install dependencies:
pip install -r requirements.txt
- Run locally:
python -u run.py
- Validate KV files:
python -u scripts/kv_sanity_check.py
- Black (line length 100), isort (black profile), flake8.
- EditorConfig is included for consistent whitespace and newlines.
pip install pre-commit
pre-commit install
# run on all files
pre-commit run --all-filesWhat it does:
- Runs linters/formatters from
.pre-commit-config.yamlbefore each commit. - Ensures Black, isort, and flake8 consistency across contributors.
If a hook modifies files, re-add them and commit again.
We keep requirements.txt checked in for easy installs. For clean upgrades and lockfiles, use pip-tools:
pip install pip-tools
# Edit high-level deps in requirements.in, then compile a locked requirements.txt
pip-compile --upgrade
# Install exactly what's in requirements.txt
pip-syncNotes:
- Edit
requirements.infor top-level packages.requirements.txtis generated. - CI installs from
requirements.txt. - Use
--upgradeonly when you intend to refresh versions.
python -m pytest -q --disable-warnings --maxfail=1 --cov=src --cov-report=term-missing- GitHub Actions runs lint, format check, tests (Ubuntu + Windows), and a KV sanity check.
- CodeQL code scanning runs on push/PR and weekly schedule for Python.
- Please keep PRs focused, with clear descriptions and screenshots for UI changes.
- Update or add docs for new behaviors.
- Avoid large unrelated refactors.
- Prefer small focused commits; link issues when applicable.