uv
What it is
uv is a free Python package and project manager written in Rust for Linux, macOS, and Windows. It manages project dependencies and environments, with lockfile and workspace support, and can install, list, pin, or uninstall Python versions. It can also run Python scripts with dependencies and run or install command-line tools from Python packages. Its pip-compatible interface is designed to take on work handled by tools such as pip, pip-tools, pipx, poetry, pyenv, twine, and virtualenv, although its commands do not exactly match those tools. The documentation describes uv as 10–100x faster than pip. It supports source distributions, wheels, requirements.txt, and pylock.toml, as well as offline installation and private registry authentication. Its default first-index strategy limits package candidates to the first index where a package is found. Credentials are not saved in uv.lock, but uv currently stores credentials in a plaintext file; native system secret storage is available as an experimental preview. Installation options include standalone installers, package managers, Docker, GitHub Releases, and Cargo.
For and against
For
- Manages dependencies, environments, lockfiles, and workspaces.
- Can install and manage Python versions.
- Supports offline installation and private registry authentication.
- Available for Linux, macOS, and Windows.
Against
- Credentials are currently stored in a plaintext file.
- Native system secret storage is experimental.
- Commands do not exactly match the tools it can replace.
The verdict
uv consolidates a range of Python package and project tasks, with lockfiles, workspaces, and multiple installation options. Its plaintext credential storage is an important consideration; native secret storage remains experimental.
Who it suits
uv suits Python developers who want dependency and environment management alongside Python version and command-line tool management. It is also relevant to teams using lockfiles, workspaces, private registries, or offline installation.
Plans and prices
uv
Open-source Python package and project manager
Read 30 Sep 2026 · docs.astral.sh
On the record
- Consolidated tooling
- uv is designed to replace tools including pip, pip-tools, pipx, poetry, pyenv, twine, and virtualenv.docs.astral.sh · read 30 Sep 2026
- Credentials
- Credentials are not stored in uv.lock; uv supports credentials through environment variables, URLs, netrc, and keyring.docs.astral.sh · read 30 Sep 2026
- Credential storage
- uv currently stores credentials in a plaintext file; native system secret storage is available as an experimental preview feature.docs.astral.sh · read 29 Sep 2026
- Dependency confusion protection
- By default, uv's first-index strategy limits package candidates to the first index where a package is found, to help prevent dependency confusion attacks.docs.astral.sh · read 30 Sep 2026
- Dependency resolution
- Yesdocs.astral.sh · read 22 Sep 2026
- Distribution
- uv can be installed with a standalone installer, PyPI, Homebrew, MacPorts, WinGet, Scoop, Docker, GitHub Releases, or Cargo.docs.astral.sh · read 29 Sep 2026
- Install methods
- uv offers standalone installers and is also available through PyPI, Homebrew, MacPorts, WinGet, Scoop, Docker, GitHub Releases, and Cargo.docs.astral.sh · read 30 Sep 2026
- Integrations
- The documentation lists integrations and guides for Docker, Jupyter, marimo, GitHub Actions, GitLab CI/CD, Pre-commit, PyTorch, FastAPI, and several package registries.docs.astral.sh · read 30 Sep 2026
- Intended users
- Astral says it builds high-performance developer tools for the Python ecosystem to help developers ship software faster.astral.sh · read 29 Sep 2026
- Lockfile support
- Yesdocs.astral.sh · read 22 Sep 2026
- Maker
- Astral says its mission is to make the Python ecosystem more productive by building high-performance developer tools, starting with Ruff.astral.sh · read 30 Sep 2026
- Offline installation
- Yesdocs.astral.sh · read 22 Sep 2026
- Package formats
- source distributions,wheels,requirements.txt,pylock.tomldocs.astral.sh · read 22 Sep 2026
- Performance
- The documentation describes uv as 10–100x faster than pip.docs.astral.sh · read 29 Sep 2026
- pip compatibility
- uv provides a pip-compatible interface for common pip, pip-tools, and virtualenv commands.docs.astral.sh · read 30 Sep 2026
- Platform limits
- The documentation lists macOS, Linux, and Windows support; the PyPI installation note says platforms without a prebuilt wheel require a Rust toolchain to build from source.docs.astral.sh · read 30 Sep 2026
- Private registry auth
- Yesdocs.astral.sh · read 22 Sep 2026
- Project management
- uv manages project dependencies and environments and supports lockfiles and workspaces.docs.astral.sh · read 29 Sep 2026