Python + uv

Fast Python package manager in Rust -- replaces pip, venv, and more

Quick summary

uv is an extremely fast Python package and project manager written in Rust. It can manage Python versions, virtual environments, dependencies, and run scripts -- all in one tool. The bootstrapper installs uv and uses it to set up the default Python runtime.

Common tasks

Basic Usage

uv python install 3.12

Basic Usage

uv python list

Basic Usage

uv venv

Basic Usage

source .venv/bin/activate

What is it?

uv is an extremely fast Python package and project manager written in Rust. It can manage Python versions, virtual environments, dependencies, and run scripts -- all in one tool. The bootstrapper installs uv and uses it to set up the default Python runtime.

Basic Usage

Manage Python versions:

$uv python install 3.12
$uv python list

Create a virtual environment:

$uv venv
$source .venv/bin/activate

Install packages:

$uv pip install requests
$uv pip install -r requirements.txt

Run a script with its dependencies:

$uv run script.py
$uv run --with requests python script.py

Run tools without installing (uvx):

$uvx ruff check .
$uvx black file.py
$uvx pyright

Manage project dependencies:

$uv add requests
$uv add --dev pytest
$uv sync

Tips

uv replaces pip, pip-tools, pipx, and venv. Use uv pip install instead of pip install -- it's 10-100x faster.
uvx runs Python tools in isolated environments -- no need to install them first. Great for linters, formatters, and type checkers.
Use uv add to add dependencies to pyproject.toml and uv sync to install them.
Run uv help to see all available commands and options.