Files
uv/docs/guides/integration/pre-commit.md
Udi Oron f5add0ca5e docs: added pre-commit uv-lock and uv-export hooks to docs (#9872)
<!--
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

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan

<!-- How was it tested? -->

---------

Co-authored-by: Jonne <jonne.haapalainen@gmail.com>
2024-12-16 13:38:57 -06:00

1.8 KiB

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.8
  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.8
  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.9
  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.9
  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.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)$