uv got to keep up: a new installer announced!
Astral, Charlie Marsh’s company best known for Ruff, announced uv today, “an extremely fast Python package installer and resolver, written in Rust.” uv is intended as a “drop-in replacement for pip and pip-compile.”
Some early feedback looks very encouraging, e.g.,
It looks like uv will bring dependency install times for @dagster down from 1m26s to 18s, and a blistering 29ms with cache!https://t.co/z7MXOFKbiw
— colton (@coltonpadden) February 15, 2024
Amazing work @charliermarsh and team!
I just swapped a Docker image from "pip install --no-cache-dir -r requirements.txt" to "uv pip install --no-cache -r requirements.txt" and the build time went from 67.8s to 15.4s. Absolutely insane. https://t.co/VwOIfIpnQP
— Senior PowerPoint Engineer (@ryxcommar) February 15, 2024
uv is not yet at full feature parity with pip and pip-compile, but given Astral’s track record, we can expect that to change quickly.
An exciting announcement that came in parallel is that Astral is taking stewardship of rye, the experimental all-in-one tool for package and project management also written in Rust. The hope is that uv and rye will ultimately develop into a single tool that will install Python, install packages, build packages, create and manage virtual environments, manage dependencies, etc.
I was working on the rye entry for the Python Developer Tooling Handbook today; I’ve already got some revising to do!
Update: @ryxcommar shared instructions and explanation for using uv in a Python Docker project.