A modern Python package and dependency manager that manages venvs, lockfiles and builds based on PEP 621 and PEP 517 metadata.
- Stars
- 91,117
- Forks
- 3,689
- Open issues
- 2,984
- Last commit
- 59 minutes ago
What is it?
uv is a command-line tool for managing Python packages, projects, virtual environments and Python installations. It covers the jobs of pip, pip-tools, pipx, poetry, pyenv, twine and virtualenv in a single binary, so developers can install interpreters, resolve dependencies and run tools from one CLI.
For projects, uv creates a lockfile that works across platforms, supports workspaces, and can run single-file scripts with inline dependency metadata in an isolated environment. It can also run or install command-line tools published as Python packages, similar to pipx, and manages multiple Python versions including PyPy.
uv provides a pip-compatible interface (uv pip) so existing workflows can move over without changes. It uses a global cache to deduplicate dependencies across environments. It runs on macOS, Linux and Windows, and can be installed via a standalone script or PyPI.
Key features
- 01Replaces pip, pip-tools, pipx, poetry, pyenv, twine and virtualenv in one tool.
- 02Manages projects with lockfiles and Cargo-style workspaces.
- 03Runs single-file scripts with inline dependency declarations in isolated environments.
- 04Installs and switches between Python versions, including PyPy.
- 05Runs and installs command-line tools published as Python packages.
- 06Offers a pip-compatible interface for existing workflows.
- 07Uses a global cache to deduplicate dependencies.
Use cases
- Starting a new Python project and managing its dependencies and lockfile.
- Running standalone Python scripts that declare their own dependencies.
- Replacing a mix of pyenv, virtualenv and pip in CI or local setups.
- Speeding up pip installs in existing projects through the pip-compatible interface.
Quick start
- 1
Install uv from PyPI with pip
pip install uv - 2
Create a new project
uv init example - 3
Add a dependency to the project
uv add ruff - 4
Run a command inside the project environment
uv run ruff check
In collections
Topics
FAQ
- What is uv?
- An extremely fast Python package and project manager written in Rust, replacing pip, virtualenv, pyenv, pipx and more. uv is a command-line tool for managing Python packages, projects, virtual environments and Python installations. It covers the jobs of pip, pip-tools, pipx, poetry, pyenv, twine and virtualenv in a single binary, so developers can install interpreters, resolve dependencies and run tools from one CLI.
- Is uv free to use? What license does it have?
- uv is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is uv still maintained?
- Actively maintained. The last commit to uv was on Oct 24, 2026.
- What can I use uv for?
- Starting a new Python project and managing its dependencies and lockfile. Running standalone Python scripts that declare their own dependencies. Replacing a mix of pyenv, virtualenv and pip in CI or local setups. Speeding up pip installs in existing projects through the pip-compatible interface.
- How do I install uv?
- Install uv from PyPI with pip: pip install uv Create a new project: uv init example Add a dependency to the project: uv add ruff Run a command inside the project environment: uv run ruff check
- Where can I get uv?
- The source code and installation instructions are on GitHub: https://github.com/astral-sh/uv
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python tool that packages applications and their dependencies into single executable .pex files, similar to a portable virtualenv.
Automated dependency update tool that scans repos for outdated packages and opens pull requests to upgrade them.
The package manager for macOS and Linux that installs command-line tools and GUI apps from its formula and cask repositories.
A Windows-first graphical interface that manages software installs and updates across WinGet, Scoop, Chocolatey, Homebrew, APT, pip, npm and more.
Microsoft's command-line package manager for Windows, with a PowerShell module and COM API for installing and updating apps.