uv - Python Package Manager
Sources:
Overview
NOTE
uv is an extremely fast Python package installer and resolver, written in Rust, and designed as a drop-in replacement forÂ
pip
 andÂpip-tools
 workflows.
uv represents a milestone in our pursuit of a âCargo for Pythonâ: a comprehensive Python project and package manager thatâs fast, reliable, and easy to use.
NOTE
Highlights
- âď¸ Drop-in replacement for commonÂ
pip
,Âpip-tools
, andÂvirtualenv
 commands. - âĄď¸Â 10-100x faster thanÂ
pip
 andÂpip-tools
 (pip-compile
 andÂpip-sync
). - đž Disk-space efficient, with a global cache for dependency deduplication.
- đ Installable viaÂ
curl
,Âpip
,Âpipx
, etc. uv is a static binary that can be installed without Rust or Python. - 𧪠Tested at-scale against the top 10,000 PyPI packages.
- đĽď¸ Support for macOS, Linux, and Windows.
- 𧰠Advanced features such as dependency version overrides and alternative resolution strategies.
- âď¸Â Best-in-class error messages with a conflict-tracking resolver.
- đ¤ Support for a wide range of advancedÂ
pip
 features, including editable installs, Git dependencies, direct URL dependencies, local dependencies, constraints, source distributions, HTML and JSON indexes, and more.
Getting Started
Install:
Usage
To generate a set of locked dependencies:
To sync a set of locked dependencies with the virtual environment:
uvâs pip-install
 and pip-compile
 commands support many of the same command-line arguments as existing tools, including -r requirements.txt
, -c constraints.txt
, -e .
 (for editable installs), --index-url
, and more.
See Also
Appendix
Note created on 2024-04-10 and last modified on 2024-04-10.
Backlinks
(c) No Clocks, LLC | 2024