📋 Dependabot research: Continue manual dependency management until uv support
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 25/100
- Issue 类型
- 文档
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- github-actions, python
- 领域
- devops, documentation
调研方向
Read the dependency workflow in requirements/main.in, requirements/dev.in, requirements/production.in and their compiled .txt files, then review the task dependencies:upgrade and task dependencies:security commands. Compare the linked Dependabot and uv discussions; this issue is complete when the manual-management decision and conditions for revisiting it are clearly recorded.
由索引模型根据 Issue 内容生成。
描述
Executive Summary
After researching Dependabot integration with our current uv-based dependency management workflow, we've decided to continue with manual dependency management for now and revisit when Dependabot adds native uv support.
Current Dependency Workflow
Our project uses a multi-file requirements approach:
- Source files:
requirements/main.in,requirements/dev.in,requirements/production.in(dependencies without pinned versions) - Compiled files:
requirements/main.txt,requirements/dev.txt,requirements/production.txt(auto-generated with exact pinned versions viauv pip compile)
Existing tools that work well:
task dependencies:upgrade- Update all dependenciestask dependencies:security- Vulnerability scanning with pip-audit- Dependabot security alerts - Already active (GitHub default feature)
Research Findings
1. uv is NOT natively supported by Dependabot (December 2024)
Despite strong community interest:
- Support python uv as pip-compile compatible replacement (185+ 👍)
- Support updating uv.lock (572+ 👍)
- See this interesting comment: GitHub's response on uv.lock support status
2. Version Pinning Problem
- Our
.infiles specify dependencies without exact versions (e.g.,DjangonotDjango==6.0) - Only
.txtfiles have exact pinned versions (auto-generated) - Dependabot can't effectively monitor
.infiles without version constraints - Monitoring
.txtfiles would create PRs for auto-generated files (breaks our workflow)
3. Current Workaround Requires Major Migration
The recommended approach requires:
- Migrating to
pyproject.tomlfor dependency specification - GitHub Action to auto-regenerate lockfiles when Dependabot updates
pyproject.toml - Significant project restructuring
See: Keep uv.lock file up-to-date with Dependabot updates
4. pip-compile Support Has Limitations
While Dependabot supports pip-compile, there are known issues:
- Formatting changes between pip-tools versions
- Transitive dependency conflicts
Decision: Continue Manual Workflow
Reasons:
- ✅ uv is not yet supported natively by Dependabot
- ✅ Current workflow with
task dependencies:*commands works well - ✅ Security alerts are already active (most critical feature)
- ✅ Migration to pyproject.toml would be a significant change
- ✅ Can revisit when Dependabot adds native uv support
What We Keep Monitoring
- Dependabot security alerts (already active)
- Manual updates via
task dependencies:upgrade - Vulnerability scanning via
task dependencies:security - Progress on the uv support issues linked above
When to Revisit
We'll reconsider Dependabot version updates when:
- Native uv support is added to Dependabot, OR
- We migrate to pyproject.toml for other reasons
References
- 主要语言
- Python
- 星标
- 17
- 派生
- 27
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
PythonIreland/website 的其他 Issue
-
难度 5/5 一周以上 新手友好度 15/100
PythonIreland/website#205 ·
-
难度 3/5 1-2 天 新手友好度 25/100
PythonIreland/website#204 ·
-
dependencies enhancement
难度 2/5 1-3 小时 新手友好度 52/100
PythonIreland/website#187 ·
-
难度 5/5 一周以上 新手友好度 25/100
PythonIreland/website#177 ·
-
难度 4/5 3-5 天 新手友好度 38/100
PythonIreland/website#171 ·
查看 PythonIreland/website 的全部 Issue
相似的 Issue
-
area: harness bug status: needs-triage
难度 2/5 1-3 小时 新手友好度 75/100
Human-Agent-Society/reef#625 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 1/5 1 小时以内 新手友好度 80/100
learningequality/kolibri#15351 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
Name consistency 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
eellak/triplestore#65 · 1 条评论 ·