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:

Related Resources

Check what other resources can help you on the Python developer's path.

Black
Tool Free

Black is a Python code formatter that enforces consistent, PEP 8-compliant formatting, allowing developers to focus on coding rather than style. By automating code formatting, it saves time and improves efficiency with minimal configuration required.

Jupyter
Library / Package / Framework Free

Jupyter Notebook is an open-source web application that enables users to create and share documents containing live code, equations, and visualizations, supporting over 40 programming languages. Its advanced version, JupyterLab, provides a more flexible environment, making both tools ideal for data science, machine learning, and scientific computing tasks across various industries and research fields.

"The Hitchhiker’s Guide to Python!" is a comprehensive resource for intermediate to advanced Python developers, covering best practices for writing, structuring, and deploying Python code. It provides practical guidance on web development, automation, data science, and more, making it ideal for those looking to improve their skills and grow professionally.

Add a Python-related resource!

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