📋 Dependabot research: Continue manual dependency management until uv support
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
- Type d'issue
- Documentation
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- github-actions, python
- Domaine
- devops, documentation
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 17
- Forks
- 27
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de PythonIreland/website
-
PSF Grant -Urgent Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
PythonIreland/website#205 ·
-
Sponsorship Brochure- Urgent! Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
PythonIreland/website#204 ·
-
dependencies enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 52/100
PythonIreland/website#187 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
PythonIreland/website#177 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
PythonIreland/website#171 ·
Toutes les issues de PythonIreland/website
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
browser-use/browser-use#5905 ·
-
type: enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
ynput/ayon-python-api#363 ·
-
bug needs triage
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
modelscope/FunASR#3728 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
open-compass/opencompass#2655 ·