uv vs pip

By Pradyumna Chippigiri

January 21, 2026


pip the the standard Python package installer is now being replaced by uv which is written in rust (i mean just writing in rust doesnt make it fast, but through innovative architecture and efficient implementation, ), which is said to be super fast.


Common pain points it addresses which pip had are :



Key features in which uv stands out are :


With old-school pip, people often end up with: requirements.txt (prod), requirements-dev.txt (dev tools like pytest, black), requirements-ci.txt, etc.

And sometimes they manually remove dev-only packages before deploying.


But in uv, You keep dependencies in one place (usually pyproject.toml) and split them into groups (like dev, test, etc.). Then you install whichever group you need. something like this :

[project]
dependencies = [
  "fastapi",
  "pydantic",
]
 
[dependency-groups]
dev = ["ruff", "mypy"]
test = ["pytest"]
 

Prod only -> uv sync
include dev group -> uv sync --group dev
include multiple groups -> uv sync --group dev --group test


This image is from someone on hackernews. Reference image from HackerNews

Ran a simple experiment to see th einstallation speeds, here's how the results look like : uv-vs-pip benchmark results

You can check out the code here -> Google Colab Code