← Back to issue list

feat: uv support for Flask, Django and FastAPI extensions

View original Github issue

Metadata

Project
rockcraft
Number
#1308
Type
pull request
State
merged
Author
Thanhphan1147
Labels
documentation
Created
Updated
Closed

Current evaluation

Merged. Implements uv build support for Flask, Django, and FastAPI extensions, routing to the uv plugin when uv.lock is detected. CI spread test failures were investigated and confirmed unrelated to the changes.

Suggested action:

No scores available.

Issue body

## Summary Adds `uv` build support to the Flask, Django and FastAPI framework extensions. When a project ships both `uv.lock` and `pyproject.toml`, the extension builds the dependencies part with the `uv` plugin (`uv sync`) instead of the `python` plugin, and injects the server dependency (`gunicorn~=23.0` / `uvicorn`) via a post-build `override-build` step since the lockfile is the source of truth. ## Behavior - `uv.lock` + `pyproject.toml` → build with `uv` plugin. - `pyproject.toml` only → fall back to the `python` (pip) plugin (unchanged). - `uv.lock` without `pyproject.toml` → pack fails: *"the plugin requires both uv.lock and pyproject.toml to be present"*. - Django/FastAPI no longer require `requirements.txt` for uv projects. ## Testing - Unit tests for detection, part generation and validation across all three extensions. - `make lint` passes; extension unit tests pass. - Manual e2e on a Canonical k8s cluster: built a Flask uv rock, pushed to an in-cluster registry, ran it as a pod, and confirmed HTTP 200 served by `gunicorn 23.0.0`.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Implements uv build support for Flask, Django, and FastAPI extensions, routing to the uv plugin when uv.lock is detected. CI spread test failures were investigated and confirmed unrelated to the changes.
qwen3.6-35b-a3b-mtp-q6
Impact: 70
Quick Win: 24.5
Staleness: 15
Complexity: 65
Confidence: 85
keep open Adds uv build support to Flask, Django, and FastAPI extensions. Approved by 2 reviewers with 0 unresolved comments. Failing source-spread-tests confirmed unrelated by maintainers.
qwen3.6-35b-a3b-mtp-q6
Impact: 70
Quick Win: 17.5
Staleness: 15
Complexity: 75
Confidence: 80
keep open Adds uv build support to Flask, Django, and FastAPI extensions. Has 2 approvals but spread tests are failing; author is actively working on fixes for uv plugin edge cases on Ubuntu 26.04.
qwen3.6-35b-a3b-mtp-q6
Impact: 65
Quick Win: 18.2
Staleness: 15
Complexity: 72
Confidence: 78
needs review Adds uv build support to Flask, Django, and FastAPI extensions. Approved by 2 reviewers with 0 unresolved comments, but CI failing on build and source-spread-tests. Team actively discussing failures.
qwen/qwen3.6-35b-a3b
Staleness: 25
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently approved by two reviewers with one unresolved comment, awaiting final maintainer review.
qwen/qwen3.6-35b-a3b
Staleness: 15
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions. Detects uv.lock to use uv plugin instead of pip. Approved by two reviewers with one unresolved comment, awaiting final maintainer review.
qwen/qwen3.6-35b-a3b
Staleness: 25
Complexity: 50
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently awaiting reviewer feedback with one unresolved comment and a changes_requested status.
qwen/qwen3.6-35b-a3b
Staleness: 15
Complexity: 50
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions by switching to the uv plugin when uv.lock is present. Currently under review with 3 unresolved comments requesting changes.
qwen/qwen3.6-35b-a3b
Staleness: 10
Complexity: 45
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently under review with 3 unresolved comments and a changes_requested status.
qwen/qwen3.6-35b-a3b
Staleness: 20
Complexity: 50
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions by detecting uv.lock and switching to the uv plugin. Currently awaiting author changes to address one requested review comment.
qwen/qwen3.6-35b-a3b
Staleness: 15
Complexity: 45
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions by switching to the uv plugin when uv.lock is present. Currently in changes_requested state with 3 unresolved review comments.
qwen/qwen3.6-35b-a3b
Staleness: 20
Complexity: 40
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions by switching to the uv plugin when uv.lock is present. Currently awaiting reviewer feedback with 8 unresolved comments and a changes_requested status.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently under review with 8 unresolved comments and changes requested.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 85
keep open Adds uv build support to Flask, Django, and FastAPI extensions, switching to the uv plugin when uv.lock is present. Currently under review with 5 requested changes and recent activity.
qwen/qwen3.6-35b-a3b
Staleness: 10
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions by routing to the uv plugin when uv.lock is present. Currently pending maintainer review with passing local tests.
qwen/qwen3.6-35b-a3b
Staleness: 35
Complexity: 55
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently awaiting maintainer review with minor lint failure and pending CI checks.
qwen/qwen3.6-35b-a3b
Staleness: 15
Complexity: 45
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions by switching to the uv plugin when uv.lock is present. Currently pending maintainer review with CI checks still running.
qwen/qwen3.6-35b-a3b
Staleness: 35
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions, routing to uv sync when uv.lock is present. Currently awaiting maintainer review with zero comments and two failing CI checks.
qwen/qwen3.6-35b-a3b
Staleness: 35
Complexity: 50
Confidence: 95
needs review Adds uv build support to Flask, Django, and FastAPI extensions by routing to the uv plugin when uv.lock is present. Currently awaiting maintainer review with CI mostly passing and one minor lint failure.
qwen/qwen3.6-35b-a3b
Staleness: 45
Complexity: 45
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions by switching to the uv plugin when uv.lock is present. Currently awaiting maintainer review with CI mostly passing.
qwen/qwen3.6-35b-a3b
Staleness: 60
Complexity: 45
Confidence: 50
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently pending maintainer review with zero comments, though some CI checks are failing.
qwen/qwen3.6-35b-a3b
Staleness: 45
Complexity: 55
Confidence: 85
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present. Currently pending review with 2 unresolved comments and minor CI failures.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 40
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions by routing to the uv plugin when uv.lock is present. Currently awaiting maintainer review with minor lint failure and pending CI checks.
qwen3.6-35b-a3b-mtp-q6
Staleness: 5
Complexity: 45
Confidence: 90
needs review Adds uv build support to Flask, Django, and FastAPI extensions, switching to uv sync when uv.lock is present and falling back to pip otherwise. Includes unit tests and manual e2e validation. Currently awaiting maintainer review.

Update history

Date Change
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
created

Related issues

Issue Project State Summary Similarity
#1031 Support uv plugin in fastapi extension rockcraft open Feature request to integrate the uv plugin with the fastapi-framework extension, which currently requires requirements.txt. Maintainer confirmed the change is planned for 26.04; reporter has a workaround and offered to test.
73%