Python Training
A Python programming course delivered as code + per-lesson reveal.js slide decks. Starts at programming-101 and finishes with async, typing, web services, packaging, observability, and deployment.
Phase 1 · Foundations
01
Hello, Python
uv · python -m · print · pytest
02
Variables, types, operators
int·float·str·bool·None · f-strings
03
Control flow
if·elif · for · while · match
04
Functions & tests
args · *args·**kwargs · pytest
05
Collections
list·tuple·dict·set · comprehensions
06
Classes & dataclasses
__init__ · @dataclass · dunders
07
Modules, packages, imports
__init__.py · imports · stdlib
08
Phase 1 capstone — CLI
argparse · files · multi-module
Phase 2 · Idiomatic Python
09
Type hints & mypy
list[int] · Optional · TypedDict
10
Protocols, ABCs, duck typing
Protocol · abc.ABC · structural
11
Errors & exceptions
try·except · custom · raise from
12
Iterators & generators
yield · itertools · gen exprs
13
Decorators & context managers
@decorator · with · contextlib
14
Files, JSON, paths, dates
pathlib · json · datetime · zoneinfo
15
Project structure & testing
src/ · pyproject · fixtures
Phase 3 · Async, Concurrency & Tooling
16
Concurrency & threads
GIL · threading · when not to
17
Multiprocessing & futures
pools · concurrent.futures
18
asyncio basics
async·await · event loop
19
Async patterns
gather · TaskGroup · cancellation
20
HTTP clients & resilience
httpx · retries · tenacity
21
Profiling & debugging
cProfile · pyinstrument · pdb
Phase 4 · Production & Services
22
FastAPI fundamentals
routing · Pydantic · DI · middleware
23
FastAPI testing & validation
TestClient · Pydantic v2
24
Databases with SQLAlchemy 2
engine · session · Alembic
25
Configuration & settings
pydantic-settings · 12-factor
26
Build, package, containerize
uv build · wheels · Dockerfile
27
Observability
structured logs · OpenTelemetry
28
Distributed patterns & wrap-up
queues · idempotency · capstone