依赖机器人
定期更新依赖项被视为最佳实践,这样可以避免暴露于漏洞之中,减少依赖项之间的不兼容性,并且在从过旧版本升级时避免复杂的升级过程。有多种工具可以通过创建自动拉取请求来帮助保持依赖项为最新状态。其中一些工具支持 uv,或者正在进行相关工作以实现对 uv 的支持。
Renovate
Renovate 支持 uv。
uv.lock
输出
Renovate 通过判断是否存在 uv.lock
文件,来确定是否使用 uv 管理依赖项,并会针对
项目依赖项、
可选依赖项 以及
开发依赖项 提出升级建议。
Renovate 会同时更新 pyproject.toml
和 uv.lock
文件。
还可以通过启用
lockFileMaintenance
选项,定期刷新锁定文件(例如,更新传递依赖项):
renovate.json5
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
lockFileMaintenance: {
enabled: true,
},
}
内联脚本元数据
Renovate 支持更新使用 脚本内联元数据 定义的依赖项。
由于 Renovate 无法自动检测哪些 Python 文件使用了脚本内联元数据,因此需要使用
fileMatch
显式定义其位置,如下所示:
renovate.json5
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
pep723: {
fileMatch: [
"scripts/generate_docs\\.py",
"scripts/run_server\\.py",
],
},
}
Dependabot
目前尚不支持在 uv 中使用。可通过 dependabot/dependabot-core#10478 跟踪进展。