使用uv运行pre-commit
项目描述
pre-commit-uv
使用uv为pre-commit创建虚拟环境和安装软件包。
安装
使用pipx
pipx install pre-commit
pipx inject pre-commit pre-commit-uv
使用uv
uv tool install pre-commit --with pre-commit-uv --force-reinstall
为什么?
与上游的 pre-commit 相比,将加速初始种子操作。通常,上游建议缓存 pre-commit 缓存,然而,这并不总是可能,但拥有一个更高效的初始缓存创建仍然是很有帮助的。以下是在本项目自己的 pre-commit 设置(带有一个热的 uv 缓存)上可能期望的示例。
❯ hyperfine  'pre-commit install-hooks' 'pre-commit-uv install-hooks'
Benchmark 1: pre-commit install-hooks
  Time (mean ± σ):     54.132 s ±  8.827 s    [User: 15.424 s, System: 9.359 s]
  Range (min … max):   45.972 s … 66.506 s    10 runs
Benchmark 2: pre-commit-uv install-hooks
  Time (mean ± σ):     41.695 s ±  7.395 s    [User: 7.614 s, System: 6.133 s]
  Range (min … max):   32.198 s … 58.467 s    10 runs
Summary
  pre-commit-uv install-hooks ran 1.30 ± 0.31 times faster than pre-commit install-hooks
配置
一旦安装,将默认使用 uv,但如果设置了 DISABLE_PRE_COMMIT_UV_PATCH 环境变量,它将作为逃生舱来禁用新行为。
为了避免补丁时的解释器启动开销,我们只在检测到您调用 pre-commit 时才执行此操作。如果此逻辑失败,您可以通过设置 FORCE_PRE_COMMIT_UV_PATCH 变量来强制进行补丁。如果您遇到这种情况,请提交一个包含 sys.argv 内容的问题。请注意,如果两个都设置了,DISABLE_PRE_COMMIT_UV_PATCH 将会覆盖此标志。
项目详情
    
       关闭
    
      
        
    
    
  
pre_commit_uv-4.1.3.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 3102dc8ac5abe2b26622c09fcc5396c80e23503a1e9bde24de25f29e23c8098b | |
| MD5 | ac2e733be2fe621adf8d47d56bda0f80 | |
| BLAKE2b-256 | 31f7fc6193f5884a987dbbd3cc04e514c1789e4f896e2c488fd1594d2807b5ed | 
    
       关闭
    
      
        
    
    
  
pre_commit_uv-4.1.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 2143c78cdf7797c17e8e344dfcfb83b27b3fad051a9aeb432f82c31e09678860 | |
| MD5 | 484b70e9aeebbc33caebecae7d7578fa | |
| BLAKE2b-256 | 66c6cec7fc1d018832add6221254408a7f11165224e79edd32a1601bcabc395b |