mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00

<!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary When creating the `.pre-commit-config.yaml` from scratch, although following https://pre-commit.com/, it might be easy to overlook that the pre-commit repo examples need to be added below the `repos` list item to get a valid `yaml` file. Additionally, updated the version of the first two examples. ## Test Plan I followed the `CONTRIBUTING.md` and the result looked fine. --------- Co-authored-by: Zanie Blue <contact@zanie.dev>
2.1 KiB
2.1 KiB
title | description |
---|---|
Using uv with pre-commit | A guide to using uv with pre-commit to automatically update lock files, export requirements, and compile requirements files. |
Using uv in pre-commit
An official pre-commit hook is provided at
astral-sh/uv-pre-commit
.
To use uv with pre-commit, add one of the following examples to the repos
list in the
.pre-commit-config.yaml
.
To make sure your uv.lock
file is up to date even if your pyproject.toml
file was changed:
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.7.8
hooks:
- id: uv-lock
To keep a requirements.txt
file in sync with your uv.lock
file:
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.7.8
hooks:
- id: uv-export
To compile requirements files:
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.7.8
hooks:
# Compile requirements
- id: pip-compile
args: [requirements.in, -o, requirements.txt]
To compile alternative requirements files, modify args
and files
:
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.7.8
hooks:
# Compile requirements
- id: pip-compile
args: [requirements-dev.in, -o, requirements-dev.txt]
files: ^requirements-dev\.(in|txt)$
To run the hook over multiple files at the same time, add additional entries:
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.7.8
hooks:
# Compile requirements
- id: pip-compile
name: pip-compile requirements.in
args: [requirements.in, -o, requirements.txt]
- id: pip-compile
name: pip-compile requirements-dev.in
args: [requirements-dev.in, -o, requirements-dev.txt]
files: ^requirements-dev\.(in|txt)$