astral-sh
Unlike separate tools for pip, Poetry, pipx, pyenv, and virtualenv, uv puts their Python packaging workflows behind one command-line tool. Run commands such as uv add, uv run, uv tool install, or uv python install to resolve dependencies and create the required environments. Its benchmarks claim 10-100x faster operation than pip, depending on workload and platform.
For Python developers consolidating packaging and environment tools
uv centralizes Python package resolution, locking, installation, project environments, managed Python installations, scripts, and tools in a Rust command-line application. A shared configuration layer resolves command-line, project, workspace, and user settings before commands run.
README.md (Highlights); crates/uv/src/lib.rs (run); docs/concepts/configuration-files.md
Command application
Initializes global state, loads configuration, and dispatches CLI execution.
crates/uv/src/lib.rs
CLI definitions
Defines command arguments and packaging, project, Python, and cache options.
crates/uv-cli/src/lib.rs
Project command runner
Runs project commands and scripts in managed or ephemeral environments.
crates/uv-project-commands/src/run.rs
Lockfile model
Represents lockfile packages, dependency selections, markers, and workspace metadata.
crates/uv-lock/src/lock/mod.rs
Generated