An extremely fast Python package and project manager written in Rust, replacing multiple existing tools.
uv is an extremely fast Python package and project manager written in Rust. It unifies and replaces multiple existing Python tools like pip, pip-tools, pipx, poetry, and pyenv into a single, high-performance executable. It solves the problem of fragmented Python tooling by providing a cohesive, fast workflow for dependency management, virtual environments, script execution, and Python version management.
Python developers and teams looking for a faster, unified alternative to the traditional ecosystem of pip, virtualenv, poetry, and related tools. It's especially valuable for those working on large projects or in CI/CD environments where speed is critical.
Developers choose uv for its exceptional speed (10-100x faster than pip), its ability to replace multiple tools with one, and its seamless compatibility with existing workflows. Its Rust implementation ensures performance and reliability, while its familiar CLI reduces the learning curve.
An extremely fast Python package and project manager, written in Rust.
Benchmarks show 10-100x faster dependency resolution and installation than pip, as documented in the BENCHMARKS.md, making it ideal for CI/CD and large projects.
Replaces multiple tools like pip, poetry, and pyenv with a single executable, reducing tool fragmentation and simplifying the development workflow.
Allows declaring dependencies inline for single-file scripts and runs them in isolated virtual environments, enabling quick prototyping without project setup.
Installs and switches between Python versions, including PyPy, with simple commands like `uv python install`, eliminating the need for separate version managers.
As a relatively new tool, uv has a smaller ecosystem and community support compared to established alternatives like pip or Poetry, which may affect troubleshooting and integrations.
Lacks the extensive plugin system and third-party integrations that mature tools have, potentially limiting advanced customizations or workflow extensions.
Despite being stable for production, rapid development could introduce future breaking changes, as noted in its versioning policy, which might disrupt long-term projects.
uv is an open-source alternative to the following products:
Twine is an open-source tool for creating interactive, nonlinear stories and games using a visual node-based interface that outputs HTML/JavaScript.
pipx is a tool that installs and runs Python applications in isolated environments, preventing dependency conflicts with system packages.
rye is a tool for managing Python installations and dependencies, providing an easy way to install, manage, and switch between Python versions and virtual environments.
pip-tools is a set of command-line tools to help manage Python dependencies, including generating and syncing requirement files.
pip is the package installer for Python, used to install and manage software packages from the Python Package Index (PyPI) and other repositories.
Poetry is a dependency management and packaging tool for Python that simplifies project setup, dependency resolution, and publishing packages to PyPI with a unified configuration file.
A tool to create isolated Python environments, allowing you to manage dependencies and packages separately for different projects.
pyenv is a Python version management tool that allows users to install, switch, and manage multiple Python versions on a single system.
Simple Python version management
Python packaging and dependency management made easy
A system-level, binary package and environment manager running on all major operating systems and platforms.
pyenv for Windows. pyenv is a simple python version management tool. It lets you easily switch between multiple versions of Python. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.