You write Python daily: knowledge_search.py, session_tracker.py, knowledge_builder.py, log analysis scripts.
But they lack:
- Type annotations (hard to refactor safely)
- Tests (regressions silently break things)
- Structured data parsing (ad-hoc string manipulation in many places)
Goal: After 3 weeks, every new script you write is typed, has pytest coverage, and uses dataclasses/Pydantic for data boundaries.
Optional, Union, TypedDict, Protocol@dataclass vs NamedTuple vs Pydantic BaseModel — when to use each.env → Pydantic settings)Exercise: Refactor session_tracker.py session state into a typed Pydantic model
pytest fixtures, tmp_path, monkeypatchpytest-mock.envExercise: Write tests for knowledge_search.py — test the scoring logic without hitting ADO
scan_csv().filter().collect()Exercise: Load a bag CSV and reproduce the covariance blow-up plot using polars + matplotlib