Contributing
Contributing
Set up a development environment and contribute to OptimusKG.
Development Environment
We use uv and docker for local development.
uv sync --all-groupsPre-commit Hooks
We use pre-commit to enforce code quality:
uv tool run pre-commit installRunning Tests
We use pytest for testing:
# Run with pre-configured flags
uv tool run hatch run pytest
# Or directly
uv tool run pytestDevelopment Scripts
Available via hatch:
# List all scripts
uv tool run hatch run list
# Run a specific script
uv tool run hatch run <script-name>Code Quality
# Format code
make format
# Lint
make lint
# Type checking
make ty
# Docstring coverage
make interrogateKey Rules
- When editing a node file, always update the corresponding catalog YAML
- Never delete the
checksumproperty in the catalog - After editing a node, rerun all downstream nodes and sync the catalog
- All data transformations use Polars (not Pandas)