Skip to content

Contributing Guide

AIHW-Bench contributions must preserve the implemented architecture and quality gates.

Local Setup

python -m pip install --upgrade pip
python -m pip install poetry
poetry install --with dev,docs

Required Checks

Run these before opening a pull request:

poetry run ruff check src tests
poetry run black --check src tests
poetry run mypy src
poetry run pytest
poetry run mkdocs build --strict

The test suite enforces at least 95% coverage and writes coverage.xml plus htmlcov.

Contribution Rules

  • Keep changes scoped to the milestone or issue.
  • Preserve public APIs unless the change is explicitly approved.
  • Add tests for new behavior and regression tests for bug fixes.
  • Update user, developer, and API documentation when behavior changes.
  • Use typed domain errors for expected failures.
  • Keep plugin failures isolated unless strict mode is requested.

Pull Request Checklist

  • Configuration and CLI examples still match implemented options.
  • New modules are reachable from the appropriate package boundary.
  • Documentation builds without strict MkDocs warnings.
  • Tests are deterministic and do not require specific host hardware.