Repolode
astral-sh

astral-sh/uv

An extremely fast Python package and project manager written in Rust, replacing pip, virtualenv, pyenv, pipx and more.

Open-source alternative to:pipPoetry

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. 1

    Install uv from PyPI with pip

    pip install uv
  2. 2

    Create a new project

    uv init example
  3. 3

    Add a dependency to the project

    uv add ruff
  4. 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