Mr Elokusa
tech shortcuts

uv: the Python package manager that replaced pip and poetry on my machine

10-100x faster than pip, Cargo-style lockfiles, runs scripts with inline deps, manages Python versions itself. My migration from poetry took fifteen minutes.

Install

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# or via brew
brew install uv

Daily flow

# new project
uv init myapp && cd myapp

# add deps (writes pyproject.toml + uv.lock)
uv add fastapi 'httpx[http2]' pydantic

# add dev-only
uv add --dev pytest ruff

# run anything in the managed venv — no `activate`
uv run pytest
uv run python -m myapp

# pin the Python version itself
uv python install 3.13
uv python pin 3.13

The killer feature: inline script deps

Single-file scripts declare their own dependencies in a header. uv builds a throwaway venv, runs the script, and cleans up. No requirements.txt for one-off tools.
# /// script
# dependencies = [
#   "httpx",
#   "rich",
# ]
# ///
import httpx
from rich import print
print(httpx.get("https://api.github.com").json())
uv run script.py  # resolves deps, runs, done
The poetry lock step that used to take 40 seconds takes half a second in uv. Compounds across a workday.

Discussion

(0)

Join the first cohort. Unlock badges.

Sign In to Comment