uv
An extremely fast Python package and project manager, written in Rust.
A fast Python package and project manager written in Rust that replaces pip, poetry, pipx, and other fragmented tools with a single command, 10, 100× faster.
uv is a tool that helps Python developers handle everything around installing packages and running projects, but does it dramatically faster than the older tools that come with Python. Python comes with a built-in installer called pip, and over the years a whole ecosystem of helper tools grew up around it for managing dependencies, virtual environments, multiple Python versions, and publishing packages. uv aims to replace that whole grab-bag of tools with one program, and because it is written in Rust rather than Python, it can be ten to a hundred times faster for typical operations. The features the README highlights include managing entire projects with a universal lockfile that records exactly which package versions to install, running standalone Python scripts that declare their own dependencies inline, installing and switching between Python versions, and running command-line tools published as Python packages in throwaway environments. It also offers a pip-compatible interface so teams can keep their existing commands and config files but still get the speed boost. A global cache deduplicates downloads across projects to save disk space, and Cargo-style workspaces let you scale up to many related packages in one repository. You would reach for uv when waiting on pip is slowing down your day, when juggling Python versions and virtual environments has become tedious, or when you want one consistent workflow for solo scripts, big projects, and CLI tools alike. It installs on macOS, Linux, and Windows via a standalone installer or through pip itself, and is built by the makers of the Ruff linter.
Where it fits
- Speed up Python dependency installation and project setup by 10, 100× compared to pip.
- Replace multiple fragmented tools (pip, poetry, pipx, pyenv) with a single unified command.
- Write and run single-file Python scripts with inline dependency declarations.
- Install and manage command-line tools published as Python packages without polluting your system.