Overview
Syllabus
Intro
Topics
Some basic tooling - mypy and fox
Installing and Running
Sample Project
A simple case
The Fizz-Buzz Party Game-Sit in a circle and count
A Fizz Buzz Solution fizzbuzz2.py
A Fizz Buzz Solution With Hints
A Fizz Buzz Solution With Erroneous Hints
Two Paths Forward
Design Strategies
Dealing with complex data structures
We really wanted a mapping from number to fizz-buzz text
Some code
mypy needs some convincing
Adding clarity
Refactoring Phase 1: Simplify the Types
Refactoring Phase II: Propagate the Simplifications
Forward references and circularity
Two Classes with Mutual References
Don't Panic
Here's the state of a number, FBState
Debugging
Some Example Code
Common Sources of Complexity
More Buzz in your Fizz
Taught by
PyCon US