Contributing¶
Set up¶
git clone https://github.com/theperrygroup/signtraker.git
cd signtraker
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pip install -r docs/requirements.txt
Quality checks¶
Run the full set before opening a pull request:
black --check --diff --line-length=88 .
isort --check-only --diff --profile=black --line-length=88 .
flake8 .
mypy signtraker/ --strict
pytest --cov=signtraker --cov-report=term-missing
mkdocs build --strict
Conventions¶
- Google-style docstrings and full type hints on all public code.
- One resource module + one client class per API group.
- Keep code, tests, docs, and examples in sync within the same change.
- Read the root
STYLE_GUIDE.mdand the Style Guide page before contributing.
Tests¶
- Unit tests mock HTTP with the
responseslibrary; no network calls. - Live tests are marked
liveand skipped unless a real key is set:
Source of truth¶
The API contract and known gaps are tracked under
docs/planning/signtraker-api-client/foundation/. Update those docs when API
behavior changes.