Contributing
CI Pipeline
Continuous integration checks that PRs must pass.
All pull requests must pass three CI checks before merging.
1. Type Checking + Docstring Coverage
make ty # ty type checker
make interrogate # docstring coverageEvery public function must have a docstring. The interrogate tool enforces minimum coverage.
2. Formatting + Linting
make lint # ruff check + ruff format --checkIncludes:
- typos - Spell checking across the codebase
- ruff - Python linting and formatting
- Both format and lint checks must pass
3. Semver Bump
The version field in pyproject.toml must be incremented in every PR. Follow Semantic Versioning:
- Patch (0.63.0 -> 0.63.1): Bug fixes
- Minor (0.63.0 -> 0.64.0): New features, data source additions
- Major (0.63.0 -> 1.0.0): Breaking changes