Last Updated: June 02, 2026
Intermediate
You run pip install -r requirements.txt and wait. Then wait some more. The resolver spins through dependency trees, contacts PyPI repeatedly, and installs packages one at a time. On a fresh environment with 40 packages, this takes two or three minutes — every time. On CI/CD it burns build minutes and developer patience alike. There is a better way.
uv is a Python package manager written in Rust that is 10x to 100x faster than pip. It handles virtual environments, dependency resolution, package installation, and project management in a single tool — without the overhead of pip’s pure-Python resolver. A full pip install -r requirements.txt that takes 3 minutes drops to under 5 seconds with uv. Install it with curl -LsSf https://astral.sh/uv/install.sh | sh on macOS and Linux, or powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" on Windows. No Python install required — uv is a self-contained binary.
This article covers installing and configuring uv, creating and activating virtual environments, installing packages and locking dependencies, managing projects with pyproject.toml, running scripts in isolated environments, and migrating from pip and pip-tools. By the end you will have a complete mental model for using uv in daily Python development and CI/CD pipelines.
Python developer and educator with 15+ years building production systems across data engineering, web APIs, and AI tooling. Founder of Python How To Program.
uv Quick Example
The most common task: create a virtual environment and install packages. Here is how it loo
Continue Learning Python
Tutorials you might also find useful:
- How To Use uv: The Fast Python Package Manager
- How To Use Python dynaconf for Configuration Management
- How To Use Python Contextlib for Resource Management
- How To Use Pydantic Settings for Configuration Management in Python
- How To Use Python poetry for Dependency and Project Management
- How To Use Python Textual for Modern Terminal UIs