Category
Technical Notes
- ·3 min read
Migrating to uv from pip + venv + requirements.txt: a pragmatic path
You don't have to commit to a full migration to benefit from uv. The pip compatibility layer is a zero-effort speedup. Move source-of-truth to pyproject.toml only when it earns its keep.

- ·3 min read
Starting a new Python project in 2026 with uv
Six commands, five files, zero `source activate`. A walkthrough from `uv init` to a project that runs tests, ships a CLI, and is ready to dockerize.

- ·3 min read
uv vs pip + venv + pyenv: speed, lockfiles, and the death of `source activate`
Three axes where uv wins and they compound: raw speed from a Rust resolver and a global hardlink cache, a real lockfile instead of a pip freeze snapshot, and a workflow that finally retires source .venv/bin/activate.

- ·3 min read
Why uv Exists: The Pre-uv Python Tooling Mess, and What Astral Consolidated
Before uv, a working Python project needed five tools and a working knowledge of how they fail at the seams. uv collapsed them into one Rust binary because the seams were the problem.
