📋 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 則留言 ·