OptimusKG
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 coverage

Every public function must have a docstring. The interrogate tool enforces minimum coverage.

2. Formatting + Linting

make lint    # ruff check + ruff format --check

Includes:

  • 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

On this page