In this video, we look at why static typing matters in Python and how type hints help you catch bugs before your code ever runs.
00:00 Introduction
03:26 Large Codebase
04:19 Latent Bug
08:56 Under the Hood
11:34 Practical Tips
13:00 Python Typing History
15:35 Final Thoughts
Chapters in Pip Install Series
1. Why Static Typing Matters in Python — • Why Static Typing Matters in Python
2. When 100% Test Coverage Isn't Enough — • When 100% Test Coverage Isn't Enough
3. Age Is NOT Just a Number or: How I Learned to Love Parsing in Python - • Age Is NOT Just a Number or: How I Learned...
Pip Install Series — • Pip Install Series
Code Samples — https://github.com/PythonInProduction...
Type Checkers
mypy — https://www.mypy-lang.org/
Pyright — https://microsoft.github.io/pyright
ty — https://docs.astral.sh/ty/
Notebook ↔ Python
jupytext — https://jupytext.readthedocs.io/en/la...
nbqa — https://nbqa.readthedocs.io/en/latest...
marimo — https://docs.marimo.io/
Software Design Principles
Open-Closed Principle — https://en.wikipedia.org/wiki/Open%E2...
SOLID — https://en.wikipedia.org/wiki/SOLID
Python & Historical Context
CPython — https://github.com/python/cpython
Python History — https://en.wikipedia.org/wiki/Python_...
BDFL — https://en.wikipedia.org/wiki/Benevol...
Some Python Type Hints PEPs
PEP 3107 – Function Annotations — https://peps.python.org/pep-3107/
PEP 484 – Type Hints — https://peps.python.org/pep-0484/
PEP 526 – Variable Annotations — https://peps.python.org/pep-0526/
PEP 544 – Structural Subtyping — https://peps.python.org/pep-0544/
PEP 586 – Literal Types — https://peps.python.org/pep-0586/
PEP 589 – TypedDict — https://peps.python.org/pep-0589/
PEP 591 – Final Keyword — https://peps.python.org/pep-0591/
PEP 604 – Union Types as X | Y — https://peps.python.org/pep-0604/
PEP 612 – Parameter Specification Variables — https://peps.python.org/pep-0612/
PEP 613 – Explicit Type Aliases — https://peps.python.org/pep-0613/
#python #typing #mypy #pyright #ty #cpython #pythontutorial #programming #datascience #softwareengineering