uv
uv is a free Python package and project manager written in Rust for macOS, Linux, and Windows. It manages project dependencies and environments, with lockfile and workspace support, and can install, list, pin, or uninstall Python versions. It can run Python scripts with dependencies and run or install command-line tools from Python packages. Its pip-compatible interface is designed to cover work handled by tools such as pip, pip-tools, pipx, poetry, pyenv, twine, and virtualenv, though commands do not exactly match those tools. The documentation describes uv as 10–100x faster than pip. It supports source distributions, wheels, requirements.txt, pylock.toml, private registry authentication, and offline installation. Its default first-index strategy limits package candidates to the first index where a package is found. Credentials are not stored in uv.lock, but uv currently keeps them in a plaintext file; native system secret storage is an experimental preview. uv is distributed through standalone installers and channels including PyPI, Homebrew, MacPorts, WinGet, Scoop, Docker, GitHub Releases, and Cargo. Platforms without a prebuilt PyPI wheel require a Rust toolchain to build from source.
Who it is for
uv suits Python developers who want one tool for project dependencies, environments, Python versions, scripts, and command-line tools. It also fits workflows that need lockfiles, workspaces, private registry authentication, or offline installation.
What is good
- Free and available for macOS, Linux, and Windows.
- Supports lockfiles and workspaces.
- Can install and manage Python versions.
- Supports offline package installation.
- Default index strategy limits package candidates to the first matching index.
What to know first
- Credentials are currently stored in a plaintext file.
- Native system secret storage is experimental preview.
- Some platforms without a prebuilt PyPI wheel need a Rust toolchain.
Verdict
uv brings Python project and package tasks into a single tool, with support for several environments and distribution formats. Its plaintext credential storage is an important consideration, and some source builds require a Rust toolchain.
uv plans and pricing
All plansCompared on package managers
- Free plan
- Yes
- Package formats
- source distributions, wheels, requirements.txt, pylock.toml
- Supported platforms
- macOS, Linux, Windows, CPython, PyPy, Pyodide, GraalPy
- Dependency resolution
- Yes
- Lockfile support
- Yes
- Workspace support
- Yes
- Private registry auth
- Yes
- Offline installation
- Yes








