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