UV is a fast, modern Python package manager developed by Astral. It is designed to be a drop-in replacement for tools like pip
, pip-tools
, and even parts of virtualenv
, with a focus on speed and modern features.
Blazing Fast:
UV is written in Rust, making it significantly faster than traditional Python tools. It can resolve and install packages faster than pip.
Unified Tooling:
UV combines the functionality of:
pip
(installing packages)
pip-tools
(resolving dependencies)
virtualenv
(creating isolated environments)
venv
(environment management)
Deterministic Resolution:
UV uses lockfiles to ensure consistent and reproducible builds.
PEP Support:
Supports PEP 508, PEP 610, and other modern Python packaging standards.
Cross-platform:
Works on Linux, macOS, and Windows.
uv pip install requests
uv venv
On macOS/Linux:
source .venv/bin/activate
On Windows:
.venv\Scripts\activate
pip-compile
)uv pip compile requirements.in
uv pip sync requirements.lock
Feature | UV | pip + venv |
---|---|---|
Speed | ⚡ Lightning fast | 🐢 Slower |
Locking Support | ✅ Yes | ❌ No |
Environment Mgmt | ✅ Built-in | ✅ via venv |
Resolution Algo | Modern & precise | Less deterministic |
Unified Tool | Yes | No (multiple tools) |
pipx install uv
pip install uv
GitHub: https://github.com/astral-sh/uv