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

CommandDescription
make devInstall with dev dependencies
make lintRun ruff check
make lint-fixRun ruff check with --fix
make formatRun ruff format
make format-checkCheck formatting without changes
make testRun pytest
make test-covRun pytest with coverage
make buildBuild sdist + wheel
make cleanRemove build artifacts

Pre-PR Checklist

  • make lint passes with 0 errors
  • make format-check passes
  • make test-cov passes 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

  1. Ensure CHANGELOG.md has a section for the new version
  2. Update __version__ in behave_data/__init__.py
  3. Update version in pyproject.toml
  4. Run make lint, make format-check, and make test-cov
  5. Commit: git commit -m "release: vX.Y.Z"
  6. Tag: git tag vX.Y.Z
  7. Push the commit and tag: git push && git push --tags
  8. CI builds, publishes to PyPI, and creates a GitHub Release