RefCompat uses uv for project environments, dependency locking, builds, and local command execution.
The package currently supports Python 3.10–3.14; Python 3.11+ is recommended for new environments. The repository's development interpreter remains pinned in .python-version; CI exercises Python 3.10, 3.11, 3.12, 3.13, and 3.14.
From the repository root:
uv sync --all-groupsThe committed uv.lock is the reproducible development lockfile. After dependency metadata changes, regenerate it with:
uv lockRun these before proposing a change:
uv run --locked pytest
uv run --locked ruff check .
uv run --locked ruff format --check .
uv run --locked mypy
uv buildruff format . may be used to apply formatting before re-running the checks.
Initial runtime dependencies are intentionally minimal. A package should be added only when implementation needs it directly; transitive availability is not a reason to import it without declaring it.
See dependency-policy.md for licensing and adoption policy.