Member-only story
Goodbye pip and venv? Meet uv, The Future of Python Packaging.
A beginner-friendly guide to the blazingly fast, all-in-one tool that’s changing the Python development workflow.
If you’ve ever worked with Node.js, you know npm (or yarn). It’s your one-stop shop for installing packages and managing project dependencies. For years, Python developers have juggled a collection of tools to do the same job: venv to create virtual environments, pip to install packages, and sometimes other tools like pip-tools to lock dependencies.
It works, but it can feel a bit clunky and, most notably, slow.
Enter uv.
uv is a new, extremely fast Python package installer and resolver written in Rust. Created by Astral, the same team behind the popular linter ruff, it aims to be a single, drop-in replacement for pip, venv, pip-tools, and more.
Let’s break down what uv is, why it’s a game-changer, and how you can start using it today.
What’s the Problem with the Old Way?
Before we appreciate the solution, let’s understand the problem. Here’s a typical workflow for starting a new Python project:
- Create a virtual environment:
- Generated bash
python -m venv .venv
- Activate it:
- macOS/Linux: source .venv/bin/activate