Python started out dynamically typed, but type hints — introduced in Python 3.5 — have since reshaped how serious Python code gets written, powering frameworks like Pydantic, FastAPI, Beanie, and SQLModel. This course is about learning to use that type system well, not just tolerate it.
What's inside
- How Python's typing compares to statically typed languages like Swift, C#, and TypeScript
- Reading a dynamic codebase side-by-side with its typed equivalent to see the real difference
- Typing variables, functions, classes, and class variables, plus Python's numeric type hierarchy
- Using Pydantic for strict data modeling, FastAPI for type-safe APIs, and Beanie ODM for typed database queries
- Cutting SQL injection risk with LiteralString, adding runtime type checks, and wiring mypy into CI/CD
- Building typed CLI tools and mixing duck typing with static typing via Python's Protocol construct
Across 73 lessons, the goal is a set of design patterns and habits for using types deliberately across real Python projects, not just satisfying a linter.