Thank you for your interest in contributing! This document explains how to get involved, whether you're fixing a bug, adding a feature, or improving the docs.
-
Fork the repository and clone your fork.
-
Create a virtual environment and install in editable mode with all dev dependencies:
pip install -e ".[dev]" -
Create a branch for your change:
git checkout -b my-feature
pytestRun with coverage:
pytest --cov=valentine --cov-report=term-missingValentine uses Ruff for linting and formatting. Before opening a pull request, make sure your code passes:
ruff check .
ruff format --check .You can auto-fix most issues with:
ruff check --fix .
ruff format .- Keep each PR focused on a single concern.
- Add or update tests for any behaviour change.
- Update the relevant documentation pages in
docs/if needed. - Reference any related issue in the PR description.
The CI pipeline will run tests on all supported Python versions (3.10–3.14) across Linux, macOS, and Windows. PRs must pass CI before merging.
Please use GitHub Issues. Include a minimal reproducible example for bug reports and a clear motivation for feature requests.