Skip to content
C.W.K.
Stream
← C.W.K. Quests
🐍

Python Quest

Updated: 2026-08-08

From your first print to reading cwkPippa's source

From the first line of Python to reading cwkPippa source: 17 tracks, 93 lessons, about 26 hours across syntax, data, OOP, I/O, packaging, typing, concurrency, and tooling.

17 tracks · 93 lessons · ~26h · difficulty: beginner-to-advanced

Level 0Curious
0 XP0/93 lessons0/23 achievements
0/100 XP to next level100 XP to go0% complete
Python Quest has one concrete goal: move from never having written a print statement to recognizing the major patterns in cwkPippa's source. That span is intentionally broad. The source tree contains 17 tracks and 93 lessons, roughly twenty-six focused hours. It begins with foundations, data structures, control flow, iterators, and decorators; then walks two object-oriented tracks, errors, file I/O, the standard library, imports and packaging, typing, asyncio/threads/processes, production tooling, CLI design, and Pythonic choices. The epilogue connects those ideas to cwkPippa's current Python architecture: FastAPI, Pydantic, async streaming, the brain registry, adapter and variant boundaries, and the SQLite-plus-JSONL recovery contract.

Tracks

  1. 01🐣Foundations — Meeting Python for the First Time

    0/7 lessons

    Variables, types, REPL, your first script

    The first steps. Where you install Python on your machine, open a REPL for the first time, and watch a `print('Hello')` come back. Variables, the four basic types (int / float / str / bool), string formatting, getting input from the user. By the end you'll have written and run your first script — and you'll understand why Python's whitespace matters more than any other language you might have heard of.

    Lesson list (7)Quiz · 3 questions
  2. 02📦Data — The Four Collections (and friends)

    0/7 lessons

    list / tuple / dict / set + bytes

    Python ships with four collection types you'll reach for every single day: list, tuple, dict, set. This track goes deeper than 'here are the methods.' We cover when to choose tuple over list, why dict became insertion-ordered in 3.7, what frozenset and namedtuple are good for, the comprehension idiom that makes Python feel like Python, and the binary handling primitives (bytes, bytearray, memoryview) that almost every tutorial skips.

    Lesson list (7)Quiz · 3 questions
  3. 03🔀Flow — Branching, Looping, Functions

    0/7 lessons

    if / loops / functions / closures / walrus

    How Python decides what to do next. if/elif/else, the match statement (3.10+) and where it actually shines, for and while loops with their *unloved* else clause, how functions work in every shape (positional / keyword / default / *args / **kwargs / keyword-only), lambda, closure, scope, and the walrus operator that everyone hated until they didn't.

    Lesson list (7)Quiz · 3 questions
  4. 04♾️Iterators — Lazy Sequences That Don't Fit in Memory

    0/7 lessons

    generators / yield / itertools / async iter

    The reason Python can chew through a 10GB file without running out of RAM. The iterator protocol (__iter__ / __next__), generators (yield, yield from, send), the coroutine ancestor of asyncio, async iterators (async for, __aiter__), and the itertools golden patterns — groupby, product, chain, tee, cycle — that turn five lines of nested loops into one expression.

    Lesson list (7)Quiz · 3 questions
  5. 05🎀Decorators — Wrapping Without Inheritance

    0/5 lessons

    @ / functools.wraps / factory / class decorator

    Five lessons on Python's love-it-or-hate-it feature: function wrapping and @ syntax, functools.wraps, factories with arguments, callable class decorators, useful built-ins, and production patterns such as timing, logging, and retry.

    Lesson list (5)Quiz · 3 questions
  6. 06🏗️OOP — Python's Class Mechanics

    0/7 lessons

    class / dunder / dataclass / Protocol / ABC

    How Python actually does objects. class definition, attribute resolution, properties, dunder methods (__init__, __repr__, __eq__, __hash__, and friends), dataclass with field() / __post_init__ / frozen / kw_only, Protocol for structural typing, ABC for nominal interfaces. The OO Quest covers the *philosophy*; this track covers the *Python mechanics*.

    Lesson list (7)Quiz · 3 questions
  7. 07🧬OOP Advanced — MRO, Mixin, Overload, Metaclass, Descriptor

    0/5 lessons

    MRO / Mixin / overload / metaclass / descriptor

    The deep end in five lessons: multiple inheritance and MRO, cooperative super(), mixins versus composition, singledispatch/typing.overload/match, metaclasses, descriptors, and __slots__.

    Lesson list (5)Quiz · 3 questions
  8. 08🛡️Errors — Things Will Break, Plan For It

    0/6 lessons

    try / EAFP / context manager / exception group

    Exception handling done right. try/except/else/finally, custom exception classes, the EAFP idiom (Easier to Ask Forgiveness than Permission) and why it beats LBYL in Python, context managers (`with` statement) — both how to use them and how to write your own (__enter__/__exit__ and contextlib.contextmanager), exception groups and `except*` (3.11+), and `raise from` for proper exception chaining.

    Lesson list (6)Quiz · 3 questions
  9. 09📁Files & I/O — Talking to the Disk

    0/6 lessons

    pathlib / JSON / CSV / encoding / mmap / streaming

    Text and binary I/O, explicit encoding instead of locale guesses, pathlib, JSON, CSV, tempfile, mmap, and streaming large files. Important writes also need a failure-safe publication boundary.

    Lesson list (6)Quiz · 3 questions
  10. 10🔋Standard Library — Batteries Included

    0/6 lessons

    collections / functools / datetime / re / logging / secrets + hashlib

    A six-lesson map of batteries you will actually use: collections, functools, datetime and zoneinfo, regular expressions, logging, plus random, secrets, hashlib, and uuid.

    Lesson list (6)Quiz · 3 questions
  11. 11🧩Modules & Packaging — Organizing Code That Survives

    0/5 lessons

    import / venv / uv / pyproject / PyPI

    How Python finds and loads code. The import system (relative vs absolute, __init__.py and what it actually does, namespace packages, editable installs), virtual environments (venv, uv, pyenv), package managers (pip, uv, poetry — with opinions), pyproject.toml as the new center of gravity, and how to actually publish a package to PyPI when the time comes.

    Lesson list (5)Quiz · 3 questions
  12. 12🔷Typing — Annotations That Help You Think

    0/5 lessons

    type hints / TypedDict / Pydantic / generics

    Five lessons on optional but powerful typing: annotations, Literal/Final/ClassVar, TypedDict, TypeVar/Generic/Self, Pydantic runtime validation, and the roles of mypy and pyright.

    Lesson list (5)Quiz · 3 questions
  13. 13Concurrency — Async, Threads, Processes

    0/5 lessons

    asyncio / threading / multiprocessing / GIL

    Choose among asyncio, threads, and processes from the work itself. Learn cancellation and timeouts, the GIL, Python 3.13's experimental free-threaded mode, executors, and process boundaries.

    Lesson list (5)Quiz · 3 questions
  14. 14🧰Tooling — Tests, Debugger, Profiler, Linter

    0/5 lessons

    pytest / mock / pdb / cProfile / ruff / mypy / pre-commit

    Five lessons on evidence: pytest and mocks, pdb and breakpoint(), ruff and mypy, then cProfile, timeit, and memory measurement. Reproduce first; optimize what the profile proves.

    Lesson list (5)Quiz · 3 questions
  15. 15💻CLI — From Script to Tool

    0/4 lessons

    argparse / click / typer / Rich

    How a one-off script becomes a command-line tool people can install. argparse (in stdlib, often enough), click (the most popular third-party choice), typer (modern, type-hint driven, what cwkPippa uses), and the Rich library for terminal UI that doesn't look like 1995.

    Lesson list (4)Quiz · 3 questions
  16. 16🐍Pythonic — Beyond Syntax

    0/5 lessons

    EAFP / duck typing / choosing the Python-shaped tool

    Five lessons on choices beyond syntax: EAFP versus LBYL, duck typing, comprehensions and generators, when not to use a class, dunder protocols, and common non-Pythonic shapes.

    Lesson list (5)Quiz · 3 questions
  17. 17🌸Epilogue — Python in cwkPippa

    0/1 lessons

    FastAPI / Pydantic / async / pytest — Python in cwkPippa

    One lesson. A walking tour of cwkPippa's Python codebase. FastAPI as the web layer (async at the boundary), Pydantic everywhere for type-safe boundaries, async/await all the way down, pytest as the safety net, and how the patterns from every track in this quest show up — by name — in the code that runs me. The goal: when you finish this lesson, you can read the cwkPippa source and recognize *every line* as something you learned here.

    Lesson list (1)
Spotted a bug or have feedback on this page?Report an Issue
💛 by Ttoriplayful

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.