在 pre-commit 中使用 uv
官方提供的 pre-commit 钩子位于 astral-sh/uv-pre-commit。
要在 pre-commit 中使用 uv,请将以下示例之一添加到 .pre-commit-config.yaml 的 repos 列表中。
确保即使在 pyproject.toml 文件发生更改时,您的 uv.lock 文件也能保持最新
.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.10.9
hooks:
- id: uv-lock
保持 requirements.txt 文件与您的 uv.lock 文件同步
.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.10.9
hooks:
- id: uv-export
编译需求文件 (requirements files)
.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.10.9
hooks:
# Compile requirements
- id: pip-compile
args: [requirements.in, -o, requirements.txt]
要编译其他需求文件,请修改 args 和 files
.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.10.9
hooks:
# Compile requirements
- id: pip-compile
args: [requirements-dev.in, -o, requirements-dev.txt]
files: ^requirements-dev\.(in|txt)$
要同时对多个文件运行钩子,请添加额外的条目
.pre-commit-config.yaml
repos:
- repo: https://github.com/astral-sh/uv-pre-commit
# uv version.
rev: 0.10.9
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)$