← All open source projects

uv

astral-sh/uv

uv is Astral’s fast Python package and project manager written in Rust, covering dependencies, scripts, tools, and Python versions.

Forks 3,184
Author astral-sh
Language Rust
License Apache-2.0
Synced 2026-06-10

What it is

uv is Astral’s Python package and project tool written in Rust. It covers tasks that were often split across `pip`, `pip-tools`, `venv`, `pipx`, `poetry`, `pyenv`, and scripts.

The project aims to speed up and simplify everyday Python work: create a project, lock dependencies, install them, run a script in an isolated environment, install a command-line tool, or choose a Python version.

What is inside and how it is used

The repository contains Rust code for the resolver, installer, project commands, lock files, tool execution, and Python version installation. The documentation presents separate scenarios: projects, scripts, tools, and Python versions.

A typical flow is to run `uv init`, add dependencies, commit the lock file, and use `uv run` for commands. For one-off tools, `uvx` runs them without polluting the global environment.

Basic project loop

These commands show uv creating a project, adding a dependency, and running code inside the managed environment.

Language: Bash
uv init app
cd app
uv add requests
uv run python -c "import requests; print(requests.__version__)"

Strengths

The strength is speed and a unified model. uv is especially noticeable in CI, large projects, and teams where dependency installation is repeated many times.

Limits

The limitation is migration. The Python ecosystem already has many tools, and not every project is ready to change its process. Lock files, internal mirrors, CI, package publishing, and team expectations should be checked first.