Robust Python

Patrick Viafore’s guide to writing resilient, maintainable Python — focuses on type annotations, protocols, data classes, and designing for longevity

Visit Robust Python →
Books

Focuses specifically on writing Python that stays maintainable as a codebase and team grow — type annotations, protocols (structural typing), dataclasses, and enums, framed around designing for longevity rather than getting something working today.

Complements mypy and the Python Type Hints Guide well: those cover how to add and check type hints, this covers the broader design thinking behind using types (and related constructs like protocols) to make a codebase harder to misuse incorrectly, not just individually type-correct.