Conversation
There was a problem hiding this comment.
Pull request overview
Updates the project’s Python/Django dependency set and CI tooling, introducing a uv.lock and migrating GitHub Actions workflows from Poetry to uv to manage installs, checks, and releases.
Changes:
- Added
uv.lockand updated runtime dependency pins/constraints (including raising minimum Python to 3.12). - Updated
pyproject.tomldependency constraints (e.g., Pillow, rapidpro-python, smartmin) and Python requirement. - Updated CI matrix and workflow steps to use uv instead of Poetry, and adjusted release publishing to use uv.
Reviewed changes
Copilot reviewed 2 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
uv.lock |
New uv lockfile capturing resolved runtime dependencies for Python >=3.12. |
pyproject.toml |
Bumps requires-python to 3.12+ and updates dependency constraints (plus dev tool version bump). |
.github/workflows/ci.yml |
Switches CI and release jobs from Poetry to uv; updates Python/Django matrices and action versions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: | | ||
| poetry install --no-root | ||
| poetry add django@~${{ matrix.django-version }} | ||
| uv sync --extra dev |
There was a problem hiding this comment.
uv sync --extra dev won’t install the dev tooling used later in this workflow (e.g., coverage, ruff, djlint) because the project doesn’t define a dev extra in [project.optional-dependencies], and uv.lock doesn’t include those packages. This will make the subsequent uv run coverage ... / ./code_check.py steps fail. Define a dev dependency group/extra that uv can sync (and regenerate uv.lock to include it), or explicitly install the needed dev dependencies in CI before running checks/tests.
| uv sync --extra dev | |
| uv sync | |
| uv pip install coverage ruff djlint |
pyproject.toml
Outdated
| [tool.poetry.group.dev.dependencies] | ||
| black = "^24.3.0" | ||
| black = "^26.3.1" | ||
| isort = "^5.13.2" | ||
| colorama = "^0.4.3" | ||
| coverage = {extras = ["toml"], version = "^7.2.2"} |
There was a problem hiding this comment.
CI now uses uv sync --extra dev, but dev dependencies are still declared under [tool.poetry.group.dev.dependencies] rather than as a PEP 621 extra ([project.optional-dependencies]) or a uv-compatible dependency group. As a result, uv sync won’t reliably bring in tools like coverage/ruff for CI unless you expose them as an extra/group that uv can install (and lock).
No description provided.