uv is a revolutionary Python package and project manager designed for speed and efficiency. Written in Rust, it outpaces traditional tools like pip and poetry by 10-100x, streamlining your workflow while managing projects and dependencies with ease. Enjoy a unified tool for all your Python needs.
uv is an extremely fast Python package and project manager, uniquely designed for performance and efficiency, and built with Rust. It offers a comprehensive solution, streamlining the management of Python packages, dependencies, and projects all within a single tool, effectively replacing legacy tools such as pip
, poetry
, virtualenv
, and more.
Key Features:
- 🚀 Speed: Experience a 10-100x performance boost compared to traditional package managers like
pip
. - 🐍 Python Management: Installs and switches between Python versions seamlessly.
- 🛠️ Tool Management: Installs and runs Python command-line tools with ease.
- ❇️ Script Support: Run single-file scripts with the ability to include inline dependency metadata.
- 🗂️ Project Management: Manage project dependencies and environments with advanced features such as a universal lockfile and Cargo-style workspaces.
- 🔩 Pip-Compatible Interface: Utilize uv’s drop-in replacement for commonly used
pip
commands, amplified with advanced features for better dependency resolution.
Innovative Project Management
With uv, you can initiate and manage your projects effortlessly:
$ uv init example
Initialized project `example` at `/home/user/example`
$ cd example
$ uv add ruff
Creating virtual environment at: .venv
Resolved 2 packages in 170ms
Built example @ file:///home/user/example
Prepared 2 packages in 627ms
Installed 2 packages in 1ms
+ example==0.1.0 (from file:///home/user/example)
+ ruff==0.5.4
$ uv run ruff check
All checks passed!
Script Management Made Easy
You can easily manage dependencies for single-file scripts using uv:
$ echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
$ uv add --script example.py requests
Updated `example.py`
$ uv run example.py
Reading inline script metadata from: example.py
Installed 5 packages in 12ms
<Response [200]>
Comprehensive Documentation
To dive deeper into functionalities and capabilities, visit the full documentation at docs.astral.sh/uv where you will find guides for project management, tool management, Python management, and much more.
Runtime Efficiency
uv efficiently utilizes a global cache for dependency deduplication, making it disk-space friendly and improving installation times. It is compatible with macOS, Linux, and Windows, ensuring broad accessibility and usability.
Get Involved
Contributors of all experience levels are welcome! Check out the contributing guide for ways to get involved.