Our journey to type checking 4 million lines of Python
Sep 5, 2019Jukka Lehtosalo

Summary
This post details Dropbox's journey in adopting and scaling Python static type checking with mypy. It covers the motivation for static typing at scale (improving code understanding, refactoring, and developer productivity), the prehistory of mypy as a research project, the evolution of Python's type hinting syntax (PEP 484), and the integration of mypy into Dropbox's development workflows. The post highlights how static type checking provides verified documentation, finds bugs, simplifies refactoring, offers quick feedback, and enhances IDE support.