uv/docs/guides/integration/pre-commit.md
Mathieu Kniewallner 7a14ea639e
docs: manually bump pre-commit refs (#10814)
## Summary

rooster should pick those up, but those 2 references were added to 0.5.8
while a 0.5.9 was already released
(f5add0ca5e),
so they never got bumped automatically.

I've searched for other cases like this in the documentation on other
versions, just in case, and it seems that this is the only case.
2025-01-21 09:28:28 -05:00

2 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 make sure your uv.lock file is up to date even if your pyproject.toml file was changed via pre-commit, add the following to the .pre-commit-config.yaml:

- repo: https://github.com/astral-sh/uv-pre-commit
  # uv version.
  rev: 0.5.21
  hooks:
    - id: uv-lock

To keep your requirements.txt file updated using pre-commit:

- repo: https://github.com/astral-sh/uv-pre-commit
  # uv version.
  rev: 0.5.21
  hooks:
    - id: uv-export

To compile requirements via pre-commit, add the following to the .pre-commit-config.yaml:

- repo: https://github.com/astral-sh/uv-pre-commit
  # uv version.
  rev: 0.5.21
  hooks:
    # Compile requirements
    - id: pip-compile
      args: [requirements.in, -o, requirements.txt]

To compile alternative files, modify args and files:

- repo: https://github.com/astral-sh/uv-pre-commit
  # uv version.
  rev: 0.5.21
  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:

- repo: https://github.com/astral-sh/uv-pre-commit
  # uv version.
  rev: 0.5.21
  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)$