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
-
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.
-
Seven Claude Code Skills for Python from the Creator of spaCy
Matthew Honnibal's Claude Code skills collection covers type annotations, error handling, property-based testing, and mutation testing.
-
Pydantic Monty: A Secure Python Interpreter for AI Agents
Pydantic's Monty is a minimal Rust-based Python interpreter for safely executing LLM-generated code without containers.