Ruff needs to be specified as a dependency in a Python package's uv.lock or
requirements/dev.txt.
If you're using pre-commit, in .pre-commit-config.yaml:
---
repos:
- repo: https://github.com/astral-sh/ruff-pre-commitrev: v0.9.7hooks:
- id: ruff
- id: ruff-formatargs: [ --check ]
- repo: https://github.com/level12/pre-commit-hooksrev: v0.20250226.1hooks:
- id: check-ruff-versions# OPTIONAL: if you have a non-typical repo where the python packages are not in the root# and/or you have more than one package. Most projects will not add these args.
- args: [--package, foo-pkg, --package, bar-pkg]If you're using prek, in prek.toml:
[[repos]]
repo = 'https://github.com/astral-sh/ruff-pre-commit'rev = 'v0.9.7'hooks = [
{ id = 'ruff' },
{ id = 'ruff-format', args = ['--check'] },
]
[[repos]]
repo = 'https://github.com/level12/pre-commit-hooks'rev = 'v0.20250226.1'hooks = [
{ id = 'check-ruff-versions' },
]Project structure and tooling mostly derives from the Coppy, see its documentation for context and additional instructions.
This project can be updated from the upstream repo, see Updating a Project.
From zero to hero (passing tests that is):
Ensure host dependencies are installed
Start docker service dependencies (if applicable):
docker compose up -dSync project virtualenv w/ lock file:
uv syncConfigure prek:
prek installRun tests:
nox
Versions are date based. A bump action exists to help manage versions:
# Show current version
mise bump --show
# Bump version based on date, tag, and push:
mise bump
# See other options
mise bump -- --help