Skip to content

Evaluate uv adoption for Python dependency management #286

@nitrobass24

Description

@nitrobass24

Summary

Evaluate adopting uv as the Python dependency manager, replacing pip in Dockerfiles and CI.

Context

In #280 we consolidated Python dependencies to pyproject.toml (PEP 621) with requirements.txt and requirements-test.txt as generated files consumed by Docker and CI. pip is used for all installs.

uv would provide:

  • Lockfile (uv.lock) for reproducible installs
  • Faster installs in Docker builds and CI
  • uv sync --group test to install dependency groups directly from pyproject.toml without maintaining separate requirements files
  • uv export to generate requirements files if needed for compatibility

Trade-offs

  • Adds a new tool dependency (needs to be installed in Dockerfiles and CI)
  • pip works fine for our scale (3 runtime deps, 5 test deps)
  • uv is moving fast but is now widely adopted

Acceptance criteria

  • Evaluate whether uv simplifies the Docker build or adds unnecessary complexity
  • If adopting: update Dockerfiles, CI, and Makefile to use uv
  • If adopting: commit uv.lock for reproducible installs
  • If deferring: document decision and close

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestv0.14.3Targeted for v0.14.3 release

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions