📋 Dependabot research: Continue manual dependency management until uv support
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- github-actions, python
- Ambito
- devops, documentation
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 17
- Fork
- 27
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PythonIreland/website
-
PSF Grant -Urgent Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
PythonIreland/website#205 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
PythonIreland/website#204 ·
-
dependencies enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
PythonIreland/website#187 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
PythonIreland/website#177 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
PythonIreland/website#171 ·
Tutte le issue di PythonIreland/website
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
zostera/django-bootstrap4#894 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
use-agent-os/agent-os#3276 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
NousResearch/hermes-agent#117848 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
zilliztech/memsearch#759 ·