← All learning paths

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.

16Focused modules
16Lessons to explore
48Typing drills
Python: APIs and reliable automation course illustration

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. 1. Retry budgets and respecting server delays
  2. 2. Pagination without cycles or partial-success claims
  3. 3. Conditional requests with URL-scoped ETags
  4. 4. Small structured events without credential leakage
  5. 5. Replacing a report without exposing a partial file
  6. 6. SQLite batches, parameters and rollback
  7. 7. Task groups and one shared concurrency limit
  8. 8. Capstone: a bounded, complete API report
  9. 9. Configuration as an explicit input
  10. 10. Small command-line interfaces with argparse
  11. 11. Timezone-aware windows and repeatable clocks
  12. 12. Decimal quantities and explicit rounding
  13. 13. Portable report names and filesystem boundaries
  14. 14. API URLs and encoded query values
  15. 15. Bounded HTTP reads and JSON documents
  16. 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

01

Module 1 · 1 lessons

Configuration as an explicit input

Turn environment-style strings into a small validated configuration without reading ambient process state.

0/1 complete
02

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.

0/1 complete
03

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.

0/1 complete
04

Module 4 · 1 lessons

Decimal quantities and explicit rounding

Keep decimal inputs exact and state when and how a report rounds its result.

0/1 complete
05

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.

0/1 complete
06

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.

0/1 complete
07

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.

0/1 complete
08

Module 8 · 1 lessons

HTTP failures versus transport failures

Preserve status evidence by catching HTTPError before its URLError superclass.

0/1 complete
09

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.

0/1 complete
10

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.

0/1 complete
11

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.

0/1 complete
12

Module 12 · 1 lessons

Small structured events without credential leakage

Log an allowlisted operational event instead of serializing the entire request or configuration.

0/1 complete
13

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.

0/1 complete
14

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.

0/1 complete
15

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.

0/1 complete
16

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.

0/1 complete