mirror of
				https://github.com/astral-sh/uv.git
				synced 2025-10-31 03:55:33 +00:00 
			
		
		
		
	 9d1a14e1f9
			
		
	
	
		9d1a14e1f9
		
			
		
	
	
	
		
			
	
		
	
	
		
			Some checks are pending
		
		
	
	CI / cargo shear (push) Waiting to run
				
			CI / check system | python on debian (push) Blocked by required conditions
				
			CI / cargo dev generate-all (push) Blocked by required conditions
				
			CI / Determine changes (push) Waiting to run
				
			CI / lint (push) Waiting to run
				
			CI / cargo clippy | ubuntu (push) Blocked by required conditions
				
			CI / cargo clippy | windows (push) Blocked by required conditions
				
			CI / cargo test | ubuntu (push) Blocked by required conditions
				
			CI / cargo test | macos (push) Blocked by required conditions
				
			CI / cargo test | windows (push) Blocked by required conditions
				
			CI / check windows trampoline | aarch64 (push) Blocked by required conditions
				
			CI / integration test | github actions (push) Blocked by required conditions
				
			CI / check windows trampoline | i686 (push) Blocked by required conditions
				
			CI / check windows trampoline | x86_64 (push) Blocked by required conditions
				
			CI / test windows trampoline | i686 (push) Blocked by required conditions
				
			CI / test windows trampoline | x86_64 (push) Blocked by required conditions
				
			CI / typos (push) Waiting to run
				
			CI / check cache | macos aarch64 (push) Blocked by required conditions
				
			CI / mkdocs (push) Waiting to run
				
			CI / build binary | linux libc (push) Blocked by required conditions
				
			CI / build binary | linux musl (push) Blocked by required conditions
				
			CI / build binary | macos aarch64 (push) Blocked by required conditions
				
			CI / build binary | macos x86_64 (push) Blocked by required conditions
				
			CI / build binary | windows x86_64 (push) Blocked by required conditions
				
			CI / build binary | windows aarch64 (push) Blocked by required conditions
				
			CI / cargo build (msrv) (push) Blocked by required conditions
				
			CI / build binary | freebsd (push) Blocked by required conditions
				
			CI / ecosystem test | pydantic/pydantic-core (push) Blocked by required conditions
				
			CI / ecosystem test | prefecthq/prefect (push) Blocked by required conditions
				
			CI / ecosystem test | pallets/flask (push) Blocked by required conditions
				
			CI / integration test | pypy on windows (push) Blocked by required conditions
				
			CI / integration test | graalpy on ubuntu (push) Blocked by required conditions
				
			CI / integration test | graalpy on windows (push) Blocked by required conditions
				
			CI / integration test | free-threaded python on github actions (push) Blocked by required conditions
				
			CI / integration test | determine publish changes (push) Blocked by required conditions
				
			CI / integration test | uv_build (push) Blocked by required conditions
				
			CI / smoke test | linux (push) Blocked by required conditions
				
			CI / check system | alpine (push) Blocked by required conditions
				
			CI / smoke test | macos (push) Blocked by required conditions
				
			CI / smoke test | windows x86_64 (push) Blocked by required conditions
				
			CI / smoke test | windows aarch64 (push) Blocked by required conditions
				
			CI / integration test | conda on ubuntu (push) Blocked by required conditions
				
			CI / integration test | deadsnakes python3.9 on ubuntu (push) Blocked by required conditions
				
			CI / integration test | free-threaded on linux (push) Blocked by required conditions
				
			CI / integration test | free-threaded on windows (push) Blocked by required conditions
				
			CI / integration test | pypy on ubuntu (push) Blocked by required conditions
				
			CI / integration test | uv publish (push) Blocked by required conditions
				
			CI / check cache | ubuntu (push) Blocked by required conditions
				
			CI / check system | python on fedora (push) Blocked by required conditions
				
			CI / check system | python on ubuntu (push) Blocked by required conditions
				
			CI / check system | python on opensuse (push) Blocked by required conditions
				
			CI / check system | python on rocky linux 8 (push) Blocked by required conditions
				
			CI / check system | python on rocky linux 9 (push) Blocked by required conditions
				
			CI / check system | graalpy on ubuntu (push) Blocked by required conditions
				
			CI / check system | pypy on ubuntu (push) Blocked by required conditions
				
			CI / check system | pyston (push) Blocked by required conditions
				
			CI / check system | python on macos aarch64 (push) Blocked by required conditions
				
			CI / check system | homebrew python on macos aarch64 (push) Blocked by required conditions
				
			CI / check system | python on macos x86-64 (push) Blocked by required conditions
				
			CI / check system | python3.10 on windows x86-64 (push) Blocked by required conditions
				
			CI / check system | python3.10 on windows x86 (push) Blocked by required conditions
				
			CI / check system | python3.13 on windows x86-64 (push) Blocked by required conditions
				
			CI / check system | x86-64 python3.13 on windows aarch64 (push) Blocked by required conditions
				
			CI / check system | windows registry (push) Blocked by required conditions
				
			CI / check system | python3.12 via chocolatey (push) Blocked by required conditions
				
			CI / check system | python3.9 via pyenv (push) Blocked by required conditions
				
			CI / check system | python3.13 (push) Blocked by required conditions
				
			CI / check system | conda3.11 on macos aarch64 (push) Blocked by required conditions
				
			CI / check system | conda3.8 on macos aarch64 (push) Blocked by required conditions
				
			CI / check system | conda3.11 on linux x86-64 (push) Blocked by required conditions
				
			CI / check system | conda3.8 on linux x86-64 (push) Blocked by required conditions
				
			CI / check system | conda3.11 on windows x86-64 (push) Blocked by required conditions
				
			CI / check system | conda3.8 on windows x86-64 (push) Blocked by required conditions
				
			CI / check system | amazonlinux (push) Blocked by required conditions
				
			CI / check system | embedded python3.10 on windows x86-64 (push) Blocked by required conditions
				
			CI / benchmarks (push) Blocked by required conditions
				
			
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Using uv with pre-commit
 | |
| description:
 | |
|   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`](https://github.com/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`:
 | |
| 
 | |
| ```yaml title=".pre-commit-config.yaml"
 | |
| repos:
 | |
|   - repo: https://github.com/astral-sh/uv-pre-commit
 | |
|     # uv version.
 | |
|     rev: 0.7.5
 | |
|     hooks:
 | |
|       - id: uv-lock
 | |
| ```
 | |
| 
 | |
| To keep your `requirements.txt` file updated using pre-commit:
 | |
| 
 | |
| ```yaml title=".pre-commit-config.yaml"
 | |
| repos:
 | |
|   - repo: https://github.com/astral-sh/uv-pre-commit
 | |
|     # uv version.
 | |
|     rev: 0.7.5
 | |
|     hooks:
 | |
|       - id: uv-export
 | |
| ```
 | |
| 
 | |
| To compile requirements via pre-commit, add the following to the `.pre-commit-config.yaml`:
 | |
| 
 | |
| ```yaml title=".pre-commit-config.yaml"
 | |
| repos:
 | |
|   - repo: https://github.com/astral-sh/uv-pre-commit
 | |
|     # uv version.
 | |
|     rev: 0.7.5
 | |
|     hooks:
 | |
|       # Compile requirements
 | |
|       - id: pip-compile
 | |
|         args: [requirements.in, -o, requirements.txt]
 | |
| ```
 | |
| 
 | |
| To compile alternative files, modify `args` and `files`:
 | |
| 
 | |
| ```yaml title=".pre-commit-config.yaml"
 | |
| repos:
 | |
|   - repo: https://github.com/astral-sh/uv-pre-commit
 | |
|     # uv version.
 | |
|     rev: 0.7.5
 | |
|     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:
 | |
| 
 | |
| ```yaml title=".pre-commit-config.yaml"
 | |
| repos:
 | |
|   - repo: https://github.com/astral-sh/uv-pre-commit
 | |
|     # uv version.
 | |
|     rev: 0.7.5
 | |
|     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)$
 | |
| ```
 |