There’s a brand new Python bundle installer out now and it’s known as uv. The uv bundle installer and resolver is made by Astral. Uv is written in Rust as an alternative of Python and is tremendous quick! Astral is greatest identified for Python’s quickest formatter, Ruff. The uv bundle is supposed to be a drop-in alternative for pip
and pip-tools
. In accordance with Astral, “uv is 8-10x quicker than pip
and pip-tools
with out caching, and 80-115x quicker when working with a heat cache (e.g., recreating a digital surroundings or updating a dependency)”.
Astral can also be taking on the event of Rye, an experimental Python packaging device from Armin Ronacher. From the sounds of Astral’s announcement, Rye and uv will develop into one device as the 2 initiatives have a shared imaginative and prescient for Python packaging.
Putting in uv
You’ll be able to set up uv utilizing Curl:
curl -LsSf https://astral.sh/uv/set up.sh | sh
Or you should use pip:
pip set up uv
Now that you’ve got uv put in, you can begin putting in packages!
Utilizing uv
Let’s attempt working uv in your terminal:
c:code> uv Utilization: uv.exe [OPTIONS] <COMMAND> Instructions: pip Resolve and set up Python packages venv Create a digital surroundings cache Handle the cache assist Print this message or the assistance of the given subcommand(s) Choices: -q, --quiet Don't print any output -v, --verbose Use verbose output --color <COLOR> Management colours in output [default: auto] [possible values: auto, always, never] -n, --no-cache Keep away from studying from or writing to the cache [env: UV_NO_CACHE=] --cache-dir <CACHE_DIR> Path to the cache listing [env: UV_CACHE_DIR=] -h, --help Print assist (see extra with '--help') -V, --version Print model
You’ll must create and activate a Python digital surroundings to put in packages with uv.
Right here’s an instance:
C:code> uv venv take a look at Utilizing Python 3.11.5 interpreter at C:UserswheifrdAppDataLocalProgramsPythonPython311python.exe Creating virtualenv at: take a look at Activate with: testScriptsactivate C:code> .testScriptsactivate (take a look at) C:books>
Now you’re prepared to put in a Python bundle. You should use numpy for a take a look at run:
(take a look at) C:books> uv pip set up numpy Resolved 1 bundle in 615ms Downloaded 1 bundle in 2.81s Put in 1 bundle in 332ms + numpy==1.26.4
As you would possibly count on, you too can use uv to put in:
- an inventory of space-delimited packages
- a necessities.txt file
- a pyproject.toml file
If you might want to generate a locked necessities.txt
file, you possibly can run uv pip compile
.
Wrapping Up
Astral hopes to create a “Cargo for Python” with the discharge of uv. Whereas it’s nonetheless early, this venture is properly price watching because the Rust bundle itself is amazingly quick and helpful though it’s solely been out for a couple of yr. You’ll be able to learn extra about uv in Astral’s weblog publish.