跳转到主要内容

使用uv运行pre-commit

项目描述

pre-commit-uv

PyPI PyPI - Implementation PyPI - Python Version Downloads PyPI - License check

使用uvpre-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 (6.5 kB 查看哈希值)

上传时间

构建分布

pre_commit_uv-4.1.3-py3-none-any.whl (5.6 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面