The Future of Python Packaging
uv is an extremely fast Python package and project manager written in Rust. It serves as a drop-in replacement for pip, pip-compile, and virtualenv.
Why Switch?
-
✓
All-in-One Tool
Manages Python versions, virtual environments, and dependencies.
-
✓
No More
pyenvSelf-installs and manages Python versions automatically.
-
✓
Performance
Built in Rust for blazing speed.
Conceptual Speed Comparison
Illustrative representation of "Extremely Fast"
Environment Management
Interact with the terminal simulator below to learn how to manage Python versions and Virtual Environments.
1 Python Versions
2 Virtual Environments
# Select a task from the left to generate commands...
Modern Project Workflow
Understanding how uv sync and uv lock manage your project files. Hover over the steps to see the flow.
Project Dependency Flow
pyproject.toml
Human Readable
High-level specs (e.g. requests>=2.25)
uv.lock
Machine Generated
Exact versions & hashes. Do not edit.
.venv
Environment
Actual installed packages.
Hover over the blocks above to understand their role.
Initial Setup
uv init
Creates a new project with a standard pyproject.toml.
Adding Packages
uv add requests
Updates pyproject.toml AND uv.lock automatically.
Sync vs Lock
uv lock
Resolves dependencies & writes lockfile only. Doesn't touch .venv.
uv sync
The "All-in-One". Checks toml, updates lock, AND installs to .venv.
Quick Reference
Searchable list of all essential commands.
| Action | Command | Category |
|---|