The map
- Not started
- In progress
- Done
- Builds on
- 01Objects and executionBytecode, names, dunder methods0/3
- 02Functions and control flowClosures, generators, exceptions0/3
- 03Memory and modulesReference counts, imports, venvs0/2
- 04ConcurrencyThe GIL, threads, asyncio0/2
- 05Types and speedHints, profiling, C extensions0/2
- 06Next: system designSame ideas, at service scale
- TimeoutLibrary ↗asyncio.timeout around every await is the same rule as a timeout on every call between services: never wait forever.
- BackpressureLibrary ↗An asyncio.Queue with a maxsize is backpressure in miniature: producers wait when consumers fall behind.
- BulkheadLibrary ↗Separate executors (thread pools, process pools) per kind of work keep one slow dependency from starving the rest.
Everything here is about CPython, the reference interpreter from python.org, on Python 3.12 and 3.13. Where 3.14 changed something (free-threading's status, lazy annotations, the garbage collector) the topic says so, and where a behaviour belongs to CPython rather than the language, the topic says that too.