Summary: Install Python 3, verify
python --version, and fix PATH on your OS. Difficulty: ★☆☆☆☆ Prerequisites: None
Summary: Install PyCharm, interpreter selection, run “Hello, world”. Difficulty: ★☆☆☆☆ Prerequisites: 1
Summary: Use the REPL, run
.pyfiles, and try Jupyter notebooks. Difficulty: ★☆☆☆☆ Prerequisites: 1–2
Summary: Create/activate
venv, install packages, freezerequirements.txt. Difficulty: ★☆☆☆☆ Prerequisites: 1–3
Summary: Folder structure,
.gitignore, commit/run small script. Difficulty: ★☆☆☆☆ Prerequisites: 1–4
Summary: Numbers, strings, booleans,
None, dynamic typing. Difficulty: ★☆☆☆☆ Prerequisites: 1–5
Summary: Arithmetic, comparison, logical, assignment, precedence. Difficulty: ★☆☆☆☆ Prerequisites: 6
Summary: Truthiness, guard clauses, nested conditions. Difficulty: ★☆☆☆☆ Prerequisites: 6–7
Summary: Iterate with
for/while,break/continue,range(). Difficulty: ★★☆☆☆ Prerequisites: 7–8
Summary: Index, slice, mutate lists; immutable tuples. Difficulty: ★★☆☆☆ Prerequisites: 7–9
Summary: Key–value dicts, unique sets, common methods. Difficulty: ★★☆☆☆ Prerequisites: 7–10
Summary: Slicing, methods, formatting, f-strings. Difficulty: ★★☆☆☆ Prerequisites: 6, 10–11
Summary: Define functions, default/keyword args, docstrings. Difficulty: ★★☆☆☆ Prerequisites: 6–12
Summary: Create modules/packages, relative vs absolute imports. Difficulty: ★★☆☆☆ Prerequisites: 13
Summary:
try/except/else/finally, raising, custom exceptions. Difficulty: ★★☆☆☆ Prerequisites: 8, 13–14
Summary: Read/write files safely, encodings, path ops. Difficulty: ★★☆☆☆ Prerequisites: 12–15
Summary: Parse/serialize JSON & CSV; simple validation. Difficulty: ★★☆☆☆ Prerequisites: 14–16
Summary:
datetime, timezones basics,Decimal,statistics. Difficulty: ★★☆☆☆ Prerequisites: 7, 12, 17
Summary: List/dict/set comprehensions; readability trade-offs. Difficulty: ★★★☆☆ Prerequisites: 9–12
Summary: Lazy pipelines with iterators and
yield. Difficulty: ★★★☆☆ Prerequisites: 13, 19
Summary: Classes, attributes, methods, instances,
__init__. Difficulty: ★★★☆☆ Prerequisites: 13, 15
Summary: Reuse, override, abstract interfaces-in-spirit. Difficulty: ★★★☆☆ Prerequisites: 21
Summary:
@dataclass,__repr__, equality, ordering. Difficulty: ★★★☆☆ Prerequisites: 21–22
Summary:
typingbasics, mypy/pyright quick pass. Difficulty: ★★★☆☆ Prerequisites: 13, 21–23
Summary: Test discovery, assertions, fixtures, run in PyCharm. Difficulty: ★★☆☆☆ Prerequisites: 13–24
Summary:
logginglevels/handlers,.envsettings pattern. Difficulty: ★★☆☆☆ Prerequisites: 14–17, 25
Summary: Build ergonomic CLI tools and entry points. Difficulty: ★★★☆☆ Prerequisites: 13–17, 25–26
Summary:
src/layout, build wheel, local install. Difficulty: ★★★☆☆ Prerequisites: 14, 24–27
Summary: Auto-format, lint, pre-commit hooks. Difficulty: ★★☆☆☆ Prerequisites: 5, 25, 28
Summary: Call APIs, timeouts/retries, parse JSON robustly. Difficulty: ★★★☆☆ Prerequisites: 15, 17, 26
Summary: Event loop,
async/await, tasks,gather. Difficulty: ★★★★☆ Prerequisites: 13–15, 30
Summary: Parallel API calls, rate limiting, error handling. Difficulty: ★★★★☆ Prerequisites: 30–31
Summary:
concurrent.futures, GIL basics, CPU vs I/O work. Difficulty: ★★★★☆ Prerequisites: 15, 20
Summary:
timeit,cProfile, optimize hot paths,lru_cache. Difficulty: ★★★☆☆ Prerequisites: 19–20, 27, 30–33
Summary: Run SQL, connections, transactions. Difficulty: ★★★☆☆ Prerequisites: 16–18, 30
Summary: Model entities, query ORM, migrations. Difficulty: ★★★★☆ Prerequisites: 35
Summary: Build minimal REST endpoints, path/query params, responses. Difficulty: ★★★★☆ Prerequisites: 24–26, 30
Summary: Request/response models, parsing, validation errors. Difficulty: ★★★☆☆ Prerequisites: 24, 37
Summary: Sign/verify JWT, protected routes, password hashing. Difficulty: ★★★★☆ Prerequisites: 37–38
Summary: FastAPI
BackgroundTasks, APScheduler basics. Difficulty: ★★★★☆ Prerequisites: 31–33, 37
Summary: TestClient/httpx, fixtures, coverage for routes. Difficulty: ★★★☆☆ Prerequisites: 25, 37–40
Summary: Multi-stage Dockerfile, environment variables, Compose. Difficulty: ★★★★☆ Prerequisites: 28–29, 37–41
Summary: Stream tokens/logs to clients; backpressure basics. Difficulty: ★★★★☆ Prerequisites: 31–32, 37
Summary: Call FastAPI from .NET (HttpClient), handle streaming. Difficulty: ★★★☆☆ Prerequisites: 37, 43
Summary: Define proto, generate clients/servers for high-perf RPC. Difficulty: ★★★★☆ Prerequisites: 21–24, 37
Summary: Cache API results, simple rate limiters, basic Pub/Sub. Difficulty: ★★★☆☆ Prerequisites: 37, 42
Summary: Offload jobs to workers with Redis; retries/backoff. Difficulty: ★★★★☆ Prerequisites: 31–33, 46
Summary: Create chat completions; model/config basics; streaming tokens. Difficulty: ★★★★☆ Prerequisites: 30–33, 37
Summary: Roles, constraints, style, few-shot patterns, safety notes. Difficulty: ★★★☆☆ Prerequisites: 48
Summary: Get JSON outputs with schemas; function/tool calling patterns. Difficulty: ★★★★☆ Prerequisites: 24, 37–38, 48–49
Summary: Generate embeddings; vector similarity; use cases. Difficulty: ★★★★☆ Prerequisites: 48, 50
Summary: Store/query embeddings locally; persist index. Difficulty: ★★★★☆ Prerequisites: 51
Summary: Create vector columns, index, hybrid filtering with metadata. Difficulty: ★★★★☆ Prerequisites: 35–36, 51
Summary: Chunk docs, embed, retrieve top-k, answer with citations. Difficulty: ★★★★☆ Prerequisites: 50–53
Summary: Overlap, semantic split, re-rank basics, prompt context windows. Difficulty: ★★★★☆ Prerequisites: 54
Summary: Build small eval set; measure accuracy, hallucinations. Difficulty: ★★★★☆ Prerequisites: 54–55
Summary: Multi-tool flows without over-engineering; planner/executor idea. Difficulty: ★★★★☆ Prerequisites: 50, 54–56
Summary: Input/output checks, allow-lists, PII masking patterns. Difficulty: ★★★☆☆ Prerequisites: 48–50
Summary: Structure logs, expose metrics, basic OpenTelemetry tracing. Difficulty: ★★★★☆ Prerequisites: 26, 37, 42
Summary: Toggle models/prompts/thresholds safely per environment. Difficulty: ★★★☆☆ Prerequisites: 26, 37
Summary: Pipeline YAML to lint/test/build; artifact publishing. Difficulty: ★★★★☆ Prerequisites: 25, 28–29, 42
Summary: Build/push Docker images; tag/semver; deploy script. Difficulty: ★★★★☆ Prerequisites: 42, 61
Summary: Env vars, vaults, key rotation; avoid hard-coding. Difficulty: ★★★☆☆ Prerequisites: 26, 42, 61
Summary: Build wheel and publish to a private feed (e.g., Azure Artifacts). Difficulty: ★★★★☆ Prerequisites: 28–29, 61
Summary: Expose Python tool as FastAPI webhook; receive JSON; return results. Difficulty: ★★★☆☆ Prerequisites: 37–41, 48–50
Summary: Secure endpoints (API key/JWT), verify requests, handle retries. Difficulty: ★★★★☆ Prerequisites: 39, 59, 63, 65
Summary: Use SSE/WebSocket for progress logs and token streaming to n8n. Difficulty: ★★★★☆ Prerequisites: 43, 65–66
Summary: Build small CLIs (Typer) for data cleanup, API calls, and reports. Difficulty: ★★★☆☆ Prerequisites: 27–29, 30
Summary: Parse Excel (openpyxl) and basic PDF text; produce summaries. Difficulty: ★★★☆☆ Prerequisites: 16–17, 27
Summary: Add OCR step for scanned PDFs/images; confidence checks. Difficulty: ★★★★☆ Prerequisites: 69
Summary: Transcribe audio (e.g., Whisper/API) and segment into chunks. Difficulty: ★★★★☆ Prerequisites: 30–32, 54
Summary: Generate speech from text and produce meeting/action summaries. Difficulty: ★★★★☆ Prerequisites: 48–50, 59
Summary: Use Pillow for basic transforms; prep images for OCR/LLM. Difficulty: ★★★☆☆ Prerequisites: 69–70
Summary: Package FastAPI container, configure health probes, scale out. Difficulty: ★★★★☆ Prerequisites: 42, 59, 62–63
Summary: Ship an authenticated FastAPI service with RAG, tool calling, streaming; consumed by .NET and n8n, with CI/CD, logs, and metrics. Difficulty: ★★★★★ Prerequisites: 37–44, 48–59, 61–67, 74
Want me to tune the capstone toward (A) enterprise RAG over SharePoint/Drive, (B) AI “ops bot” for CI/CD & incident automation, or (C) sales/support assistant with streaming to your .NET app? Also: which OS are you on (Windows/macOS/Linux)? That’ll help me tailor Lesson 1’s install steps.