uv by Astral

14 Oct, 2024
selected by Aidas Bendoraitis

uv is an extremely fast Python package and project manager designed to replace multiple tools, such as pip, poetry, pyenv, and others. Written in Rust, uv provides exceptional speed, boasting a performance boost of 10-100 times faster than pip. With a streamlined approach, it installs Python versions, manages project dependencies, and runs applications, all while maintaining disk-space efficiency. It features a universal lockfile system, Cargo-style workspaces for large projects, and a pip-compatible interface for familiar CLI experiences. uv also runs single-file scripts and tools with inline dependency metadata, making it a versatile solution for both small scripts and large-scale projects.

uv offers a simplified installation process, available via curl, powershell, or pip for macOS, Linux, and Windows. It allows users to quickly manage multiple Python versions (3.8 - 3.13), create isolated virtual environments, and switch between versions effortlessly. The tool also provides advanced project management features such as dependency deduplication, fast package resolution, and platform-independent resolutions. These capabilities make it ideal for Python developers looking for a unified tool to handle all aspects of their Python environment and dependencies without sacrificing performance or flexibility.

In addition to its robust functionality, uv is backed by Astral, the creators of the popular linter tool, Ruff. Its integration with tools like PubGrub and Git (modeled after Cargo) ensures fast and reliable dependency management. uv’s open-source nature invites developers of all experience levels to contribute, with dual licensing under the Apache and MIT licenses. This makes uv not only a powerful tool for managing Python projects but also a community-driven project aimed at enhancing the Python ecosystem.

Related Technologies:

Add a Python-related resource!

Do you have a useful resource for other Python developers? List them here!