Typorithm learning path
Python: APIs and reliable automation
Continue Python foundations with configuration, CLI flags, UTC windows, decimals, paths, encoded URLs, bounded HTTP, error handling, retry budgets, pagination, ETags, logs, atomic files, SQLite transactions and structured concurrency. Six sections per lesson, small independent tasks and a local standard-library lab. Reviewed against Python 3.15; verified on maintained 3.13, 3.14 and 3.15 interpreters. Reading and self-checks work in the app; code execution uses a computer.

Study with a practical destination
Use the linked lessons in order, complete the lab and explain the decisions without the reference. Select the path and depth that match your role.
Python: APIs and dependable local automation
Before starting: Complete Python practical foundations first: functions, collections, exceptions, files, JSON and local tests. The SQLite topic also benefits from the SQL foundations. Reading and self-checks work in the app; optional execution needs a computer with maintained Python 3.13+ and the standard library.
Build and explain: Compose a country-scoped API report with bounded reads, explicit completion and identity rules; explain retry, cache, logging and durable-publication boundaries without spamming a source.
- 1. Retry budgets and respecting server delays
- 2. Pagination without cycles or partial-success claims
- 3. Conditional requests with URL-scoped ETags
- 4. Small structured events without credential leakage
- 5. Replacing a report without exposing a partial file
- 6. SQLite batches, parameters and rollback
- 7. Task groups and one shared concurrency limit
- 8. Capstone: a bounded, complete API report
- 9. Configuration as an explicit input
- 10. Small command-line interfaces with argparse
- 11. Timezone-aware windows and repeatable clocks
- 12. Decimal quantities and explicit rounding
- 13. Portable report names and filesystem boundaries
- 14. API URLs and encoded query values
- 15. Bounded HTTP reads and JSON documents
- 16. HTTP failures versus transport failures
Review evidence: Attempt one small modification at a time. Inspect actual local requests and the declared fixtures. Demonstrate a cursor cycle, mismatched ETag URL, failed report replacement, later SQL constraint error and shared-concurrency limit. Do not turn partial work into successful complete evidence. Optional stretches are not required for the core.
Your learning path
0 of 16 lessons completed
Saved on this device
Module 1 · 1 lessons
Configuration as an explicit input
Turn environment-style strings into a small validated configuration without reading ambient process state.
Module 2 · 1 lessons
Small command-line interfaces with argparse
Parse predictable flags without hiding unknown arguments or terminating the calling process on validation errors.
Module 3 · 1 lessons
Timezone-aware windows and repeatable clocks
Derive UTC boundaries from an explicit aware instant instead of mixing local clocks and naive timestamps.
Module 4 · 1 lessons
Decimal quantities and explicit rounding
Keep decimal inputs exact and state when and how a report rounds its result.
Module 5 · 1 lessons
Portable report names and filesystem boundaries
Validate a portable relative report name without confusing lexical validation with a filesystem security boundary.
Module 6 · 1 lessons
API URLs and encoded query values
Build one fixed-origin URL while preserving the boundary between query syntax and caller-supplied values.
Module 7 · 1 lessons
Bounded HTTP reads and JSON documents
Read a controlled HTTP response with an explicit timeout, byte budget, media type and parse boundary.
Module 8 · 1 lessons
HTTP failures versus transport failures
Preserve status evidence by catching HTTPError before its URLError superclass.
Module 9 · 1 lessons
Retry budgets and respecting server delays
Calculate a bounded retry decision without sleeping, inventing success or shortening a server-requested delay.
Module 10 · 1 lessons
Pagination without cycles or partial-success claims
Follow an injected page provider while bounding work and distinguishing a complete collection from a truncated one.
Module 11 · 1 lessons
Conditional requests with URL-scoped ETags
Reuse a cached representation only when its URL and validator belong to the requested resource.
Module 12 · 1 lessons
Small structured events without credential leakage
Log an allowlisted operational event instead of serializing the entire request or configuration.
Module 13 · 1 lessons
Replacing a report without exposing a partial file
Write a complete temporary report beside its target, then replace the visible file and clean up a failed attempt.
Module 14 · 1 lessons
SQLite batches, parameters and rollback
Store a small batch with an explicit transaction boundary and close the connection independently of transaction exit.
Module 15 · 1 lessons
Task groups and one shared concurrency limit
Run cooperative jobs under one shared semaphore while retaining input order and propagating an incomplete group failure.
Module 16 · 1 lessons
Capstone: a bounded, complete API report
Compose controlled HTTP, explicit pagination and source identity into one country-scoped report that refuses incomplete evidence.