Python programs operate on objects with explicit input, ownership and failure contracts.
Learning roadmap
This section contains 14 written lessons or quiz banks. Programs are verified on CPython 3.14.6. Standard-library lessons target 3.11+ syntax; lessons using data, web, machine-learning or testing packages state their tested dependencies separately. Framework programs use local test clients, not a deployed service. Read the stated limits before adapting a fixture into an application.
Local applications
Read the contract, run its program and inspect the failure case.
- Python receipt CLI project: parse options and report failed input
- Python inventory project: validate a batch before replacing stored state
Disk-backed local publication
Read the contract, run its program and inspect the failure case.
- Python SQLite project: transactional batches, duplicate IDs and reopen checks
- Python file project: stage a report before replacing the visible file
Replay identity and stored outcomes
Read the contract, run its program and inspect the failure case.
Accepted dispatch, bounded retention and pending-event ownership
Read the contract, run its program and inspect the failure case.
- Python SQLite outbox project: commit a receipt and its pending event together
- Python LRU cache project: make misses, replacement and eviction explicit
- Python plugin project: load owned code and publish only an accepted interface
Worker claims and time-bounded application state
Read the contract, run its program and inspect the failure case.
- Python SQLite outbox leases: stale workers must not acknowledge a newer claim
- Python TTL cache: expire at a defined boundary and use an injected clock
Renewing a stored claim
Read the contract, run its program and inspect the failure case.
Stored ingest position
Read the contract, run its program and inspect the failure case.
Backup snapshot boundaries
Read the contract, run its program and inspect the failure case.
Validated batch publication
Read the contract, run its program and inspect the failure case.
Continue learning
Move between tutorial, collections, advanced material and practice using the subject tabs. The sidebar changes with each section; related examples keep one canonical lesson URL.
