Switch from poetry to uv#29
Conversation
WalkthroughThe pull request migrates the project from Poetry to uv as its package manager across CI/build infrastructure and configuration files. Additionally, it updates the Python version requirement to 3.12, restructures Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
pyproject.toml (1)
24-24:⚠️ Potential issue | 🟡 MinorBlack target-version is inconsistent with requires-python.
target-version = ['py38']targets Python 3.8, butrequires-pythonspecifies>=3.12.12. This should be updated to match the project's minimum Python version.Proposed fix
-target-version = ['py38'] +target-version = ['py312']
🤖 Fix all issues with AI agents
In `@Dockerfile`:
- Around line 9-15: The Dockerfile currently copies only pyproject.toml and
uv.lock and runs "uv sync" but never copies the application source or the start
script, so ENTRYPOINT /app/start.sh will fail; update the Dockerfile to COPY the
application directory and start.sh into /app (e.g., ensure you add COPY app/
/app/ and COPY start.sh /app/start.sh or equivalent) before running uv sync and
before setting ENTRYPOINT, and ensure file permissions on start.sh are preserved
or set executable so ENTRYPOINT /app/start.sh can run.
- Line 5: The Dockerfile currently copies the uv binary from the image tag
"ghcr.io/astral-sh/uv:latest" which is mutable; update the COPY source to use a
specific pinned version tag (e.g., ghcr.io/astral-sh/uv:<stable-version>) so
builds are reproducible. Modify the COPY line (COPY
--from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv) to reference the
chosen fixed version tag and ensure any related build docs or CI variables are
updated to reflect the pinned uv version.
| RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* | ||
|
|
||
| RUN pip install --no-cache-dir --upgrade pip setuptools poetry | ||
| COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
latest version of uv package manager
💡 Result:
The latest uv (Python package/project manager) release is v0.10.2, released Feb 10, 2026. [1], [2]
Pin the uv image version for reproducible builds.
Using :latest tag can lead to inconsistent builds over time. Pin to a specific stable version to ensure reproducibility across builds.
🤖 Prompt for AI Agents
In `@Dockerfile` at line 5, The Dockerfile currently copies the uv binary from the
image tag "ghcr.io/astral-sh/uv:latest" which is mutable; update the COPY source
to use a specific pinned version tag (e.g.,
ghcr.io/astral-sh/uv:<stable-version>) so builds are reproducible. Modify the
COPY line (COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv) to
reference the chosen fixed version tag and ensure any related build docs or CI
variables are updated to reflect the pinned uv version.
Description
Checklist
Summary by CodeRabbit