Thirty days. From open() and read() to Counter, comprehensions, regex, and a synthesis pipeline that reads CSV, parses dates, accumulates by key, and writes JSON. Same six prompts you saw on day 1 — rate yourself again.
What's next?
Three paths.
Python Mastery if you want the third layer — classes, decorators, generators, custom context managers, type hints, and tests. The advanced kit. Same concept-first style; longer arc.
Automation Patterns if you want to apply the kit you just built to real tools — Gmail, Sheets, Slack, Notion, Calendar. The Python is the same; the new layer is calling tools that change the world for you.
AI Patterns if you want to call language models — summarise, classify, transform, structure. Same Python; the new layer is prompting and response shaping.
Any order works. Most learners do Automation or AI next, Mastery later. Pick the path closest to a problem you'd like to solve.
You wrote 24 small Python scripts across four weeks. The shape of the second-layer kit you now have:
| Capability | Lessons that taught it |
|---|---|
| File I/O — read | L1 (open/read), L3 (with), L22 (pathlib) |
| File I/O — write | L2 (write mode), L22 (Path.write_text) |
| Errors — survive predictable failures | L4 (try/except), L5 (specific exceptions) |
| Comprehensions — transform & filter | L6 (list with filter), L11 (dict) |
| Functions — flexibility | L8 (defaults), L9 (kwargs), L10 (*args/**kwargs), L23 (**dict spread) |
| Dicts — beyond basic lookup | L12 (nested), L26 (defaultdict + Counter) |
| Imports — using the standard library | L13 |
| Standard-library data formats | L15 (csv), L16 (json), L17 (regex), L19 (datetime) |
| Sorting | L18 (sorted(key=...)) |
| Iteration tools | L24 (enumerate, zip), L25 (slicing) |
| Composition | L20 (week-3 synthesis), L27 (week-4 synthesis) |
Any standalone Python script you'll read or write from here uses some combination of these and the Foundations primitives.
Deferred to Python Mastery (track 3 of the series):
class, __init__, self, methods, inheritance)@cache, @dataclass, custom)yield__enter__ / __exit__)x: int, def f() -> str:, Optional, List, dict[str, int])pytest, fixtures, parametrize)async def, await, asyncio)pyproject.toml)None of these are required to call Composio tools or to call LLMs. You have plenty.
→ Python Mastery — classes, decorators, generators, type hints, tests. The advanced kit.
→ Automation Patterns — Composio tools, Gmail / Sheets / Slack / Notion / Calendar. Make Python do things in the world.
→ AI Patterns — LLM calls, prompting, structured output. Compose language models into your scripts.
Rate the prompts below as honestly as you did on day 1. Then pick what's next.
Thirty days. From open() and read() to Counter, comprehensions, regex, and a synthesis pipeline that reads CSV, parses dates, accumulates by key, and writes JSON. Same six prompts you saw on day 1 — rate yourself again.
What's next?
Three paths.
Python Mastery if you want the third layer — classes, decorators, generators, custom context managers, type hints, and tests. The advanced kit. Same concept-first style; longer arc.
Automation Patterns if you want to apply the kit you just built to real tools — Gmail, Sheets, Slack, Notion, Calendar. The Python is the same; the new layer is calling tools that change the world for you.
AI Patterns if you want to call language models — summarise, classify, transform, structure. Same Python; the new layer is prompting and response shaping.
Any order works. Most learners do Automation or AI next, Mastery later. Pick the path closest to a problem you'd like to solve.
You wrote 24 small Python scripts across four weeks. The shape of the second-layer kit you now have:
| Capability | Lessons that taught it |
|---|---|
| File I/O — read | L1 (open/read), L3 (with), L22 (pathlib) |
| File I/O — write | L2 (write mode), L22 (Path.write_text) |
| Errors — survive predictable failures | L4 (try/except), L5 (specific exceptions) |
| Comprehensions — transform & filter | L6 (list with filter), L11 (dict) |
| Functions — flexibility | L8 (defaults), L9 (kwargs), L10 (*args/**kwargs), L23 (**dict spread) |
| Dicts — beyond basic lookup | L12 (nested), L26 (defaultdict + Counter) |
| Imports — using the standard library | L13 |
| Standard-library data formats | L15 (csv), L16 (json), L17 (regex), L19 (datetime) |
| Sorting | L18 (sorted(key=...)) |
| Iteration tools | L24 (enumerate, zip), L25 (slicing) |
| Composition | L20 (week-3 synthesis), L27 (week-4 synthesis) |
Any standalone Python script you'll read or write from here uses some combination of these and the Foundations primitives.
Deferred to Python Mastery (track 3 of the series):
class, __init__, self, methods, inheritance)@cache, @dataclass, custom)yield__enter__ / __exit__)x: int, def f() -> str:, Optional, List, dict[str, int])pytest, fixtures, parametrize)async def, await, asyncio)pyproject.toml)None of these are required to call Composio tools or to call LLMs. You have plenty.
→ Python Mastery — classes, decorators, generators, type hints, tests. The advanced kit.
→ Automation Patterns — Composio tools, Gmail / Sheets / Slack / Notion / Calendar. Make Python do things in the world.
→ AI Patterns — LLM calls, prompting, structured output. Compose language models into your scripts.
Rate the prompts below as honestly as you did on day 1. Then pick what's next.
Create a free account to get started. Paid plans unlock all tracks.