Contributing to behave-data
July 19, 2026 ยท View on GitHub
Thank you for your interest in contributing! This document covers setup, development commands, and the release process.
Setup
git clone https://github.com/MathiasPaulenko/behave-data.git
cd behave-data
pip install -e ".[dev,all]"
pre-commit install
pre-commit run --all-files
Development Commands
| Command | Description |
|---|---|
make dev | Install with dev dependencies |
make lint | Run ruff check |
make lint-fix | Run ruff check with --fix |
make format | Run ruff format |
make format-check | Check formatting without changes |
make test | Run pytest |
make test-cov | Run pytest with coverage |
make build | Build sdist + wheel |
make clean | Remove build artifacts |
Pre-PR Checklist
-
make lintpasses with 0 errors -
make format-checkpasses -
make test-covpasses with coverage >= 90% - All public functions have type hints
- Tests cover happy path + edge cases
- Documentation updated if public APIs or behavior changed
- CHANGELOG.md updated (if user-facing changes)
- Backward compatibility considered
Release Process
- Ensure
CHANGELOG.mdhas a section for the new version - Update
__version__inbehave_data/__init__.py - Update
versioninpyproject.toml - Run
make lint,make format-check, andmake test-cov - Commit:
git commit -m "release: vX.Y.Z" - Tag:
git tag vX.Y.Z - Push the commit and tag:
git push && git push --tags - CI builds, publishes to PyPI, and creates a GitHub Release