Contributing to behave-pool

July 31, 2026 · View on GitHub

Thanks for your interest in contributing! Please read our Code of Conduct before participating.

Setup

git clone https://github.com/MathiasPaulenko/behave-pool.git
cd behave-pool
make dev
pre-commit install

Development commands

CommandDescription
make helpShow all available targets.
make devInstall with dev extras.
make lintRun ruff check + mypy --strict.
make lint-fixAuto-fix lint issues.
make formatFormat the code with ruff format.
make format-checkVerify formatting without changes.
make testRun the test suite.
make test-covRun tests with coverage (fail under 90%).
make checkFull pre-commit check (lint + format + test).
make buildBuild sdist + wheel into dist/.
make docs-serveServe documentation locally.
make cleanRemove build artifacts and caches.

Pre-PR checklist

  • make check passes
  • make test-cov passes with >= 90% coverage
  • New behavior is covered by tests
  • CHANGELOG.md updated under [Unreleased]

Release process

Automated via release.yml GitHub Actions workflow:

  1. Bump version in pyproject.toml.
  2. Move [Unreleased] in CHANGELOG.md to the new version.
  3. Commit and push to main.
  4. Workflow detects bump → builds → publishes to PyPI (Trusted Publishing) → creates GitHub Release.

Code style

  • Python >=3.11, from __future__ import annotations in every module.
  • ruff for linting and formatting (line length 100).
  • mypy --strict with no errors.
  • Public API documented with docstrings (Google style).