Overview
Based on the docs, uv provides different interfaces to achieve distinct goals, which can be used independently or collectively. This migration uses the pip-compatible interface to get faster dependency resolution. However, after tinkering with uv, I've observed a full migration - adopting other interfaces like scripts, projects, and utility - solves for current dependency management issues (see issue #29).
This migration will be rolled out incrementally, with increments broken down into tasks or sub-issues. Initially, uv should be set up alongside pip as each iteration implements a uv interface and phases out pip invocations across core and distinct parts of the repo: requirements, Docker, Makefile, GitHub Actions, etc.
Outcome
Incrementally migrate to fully use uv as the repo's package manager, effectively replacing pip while learning the caveats/tradeoffs and ensuring nothing breaks.
ℹ See sub-issues to track the progress of this migration.
Reference
Overview
Based on the docs,
uvprovides different interfaces to achieve distinct goals, which can be used independently or collectively. This migration uses thepip-compatibleinterface to get faster dependency resolution. However, after tinkering withuv, I've observed a full migration - adopting other interfaces likescripts,projects, andutility- solves for current dependency management issues (see issue #29).This migration will be rolled out incrementally, with increments broken down into tasks or sub-issues. Initially,
uvshould be set up alongsidepipas each iteration implements auvinterface and phases outpipinvocations across core and distinct parts of the repo:requirements,Docker,Makefile,GitHub Actions, etc.Outcome
Incrementally migrate to fully use
uvas the repo's package manager, effectively replacingpipwhile learning the caveats/tradeoffs and ensuring nothing breaks.Reference
uvSee: https://docs.astral.sh/uv/#learn-more