Thank you for your interest in contributing to model-ledger!
# Clone the repository
git clone git@github.com:block/model-ledger.git
cd model-ledger
# Install dependencies
uv sync --all-extras
# Run tests
uv run pytest -v
# Run linter
uv run ruff check .
uv run ruff format --check .- Fork the repository and create a branch from
main. - Write tests for your changes (TDD preferred).
- Run
uv run pytest -vand ensure all tests pass. - Run
uv run ruff check . && uv run ruff format .for linting. - Commit with DCO sign-off:
git commit --signoff - Use conventional commit format for PR titles:
feat(scope): description
All commits must include a DCO (Developer Certificate of Origin) sign-off:
git commit --signoff -m "feat(sdk): add bulk registration"- Python 3.10+ type hints throughout
- Pydantic 2.x for data models
- ruff for linting and formatting
- pytest for testing
If you work at Block, see internal documentation for Block-specific integrations and adapters.
Open a discussion on GitHub or reach out on Discord.