We welcome contributions to the HUD SDK! This guide covers how to get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/hud-python - Install uv and set up dev dependencies:
cd hud-python uv sync --extra dev
Enable the shared pre-push hook (runs ruff, pyright, pytest before each push):
git config core.hooksPath .githooksuv run pytest --rootdir=hud -qTests run on Python 3.11 and 3.12 in CI.
uv run ruff format . --check # Formatting
uv run ruff check . # Linting
uv run pyright # Type checking- Python 3.11+ features are allowed
- Type hints required for public APIs
- Line length limit: 100 characters
- Follow existing patterns in the codebase
- Branch naming:
feature/descriptionorfix/issue-number - Commits: Use clear, descriptive messages
- Tests: All CI checks must pass (ruff, pyright, pytest)
- Review: Address feedback promptly
- Check existing issues and PRs
- Look at similar code in the repository
- Ask questions in your PR
By contributing, you agree that your contributions will be licensed under the MIT License.