Python Developer Tooling Handbook
What to use.
And why
Python's tooling is a maze of overlapping tools, cautious official docs, and stale blog posts. This handbook tells you what to use today, and why.
Python’s tooling ecosystem is fragmented. Dozens of tools solve overlapping problems, official documentation avoids recommending the best modern options, and community advice is scattered across Reddit threads and blog posts that go stale. This handbook cuts through that noise.
It covers packaging, linting and formatting, testing, type checking, and dependency management with opinionated recommendations and honest trade-offs. Each tool’s Reference page links to its official documentation; the handbook complements those docs, the Python Packaging User Guide, and the Scientific Python Library Development Guide, not replaces them.
Topic hubs
Curated entry points for the tools and tasks at the heart of modern Python development.
Popular pages
Browse by section
- Tutorial — Step-by-step guides for setting up tools and workflows.
- How To — Practical solutions to specific problems.
- Explanation — Context and background for understanding the ecosystem.
- Reference — Tool-by-tool technical descriptions.
Feedback on any page is welcome via the form at the bottom.
Recent Blog Posts
-
Your Python Wheels Still Target 2009 CPUs
The wheel format cannot describe a CPU's instruction set, so default wheels compile for the lowest common denominator. Wheel variants would end that.
-
uv won developer hearts. Now it has to win READMEs.
uv is the most admired tool in the 2025 Stack Overflow survey, but adoption in real repos lags far behind. The gap is not just AI agents. It's the install snippets they read.
-
The Python Packaging Summit Returns to PyCon US
The 2026 Packaging Summit convenes in Long Beach on May 15. Here's what's on the table based on the last two years of notes.
-
How uv Solves Dependencies So Fast
Inside uv's dependency resolver: SAT solving, universal lock files, zero-copy deserialization, and why Python's lack of multi-version support makes this problem NP-hard.
-
LLM-Powered Copycats Are Flooding PyPI
A developer published his first PyPI package. Within hours, three AI-generated clones appeared. The pattern is spreading, and it's a supply chain risk.
-
In 2012, Guido Had No Idea NumPy Had Its Own Packaging System
A 2012 panel discussion between Guido van Rossum and the scientific Python community reveals how deep the disconnect on packaging ran.
-
Migrating from mypy to ty: Lessons from FastAPI
Sebastián Ramírez has adopted ty across FastAPI, Typer, SQLModel, and more. His incremental migration strategy reveals the practical realities of switching type checkers on mature codebases.
-
LiteLLM Got Owned, and Your Dependencies Might Be Next
A supply chain attack hit litellm on PyPI, stealing credentials and deploying backdoors. Bernát Gábor's guide shows how to defend against exactly this kind of threat.
-
OpenAI to Acquire Astral
OpenAI announced plans to acquire Astral, the company behind uv, Ruff, and ty, folding its team into the Codex coding agent.
-
Charlie Marsh on uv, Coding Agents, and the Changing Open Source Contract
Charlie Marsh discusses uv's adoption strategy, coding agents reshaping Astral's development, and open source when code is cheap.