Python async/await unraveled
summary
Explains exactly how Python implements async/await by lowering await is sugar over yield from into generator suspension and resume mechanics, builds a minimal event loop and downloader using asyncio + aiohttp (mentions uvloop, curio, trio), and demonstrates live suspends/resumes and the actual state‑machine expansion of coroutines so you see when and how many times a coroutine suspends. Concrete code examples run and match the explanations; useful if you want implementation-level detail rather than just API usage.
AI-written summary · about
chapters (15)
- 0:00Introduction to async
- 1:02Synchronous programming
- 4:58Asynchronous concepts
- 9:18Callback hell in JS
- 15:20JavaScript promises
- 18:52Async await syntax
- 20:20Async in Python
- 24:42Generators as coroutines
- 29:13Yield from expression
- 36:03D-sugaring yield from
- 39:37Implementing coroutines
- 47:05Asyncio in practice
- 52:29Best practices
- 1:00:00Under the hood
- 1:17:12Further reading and Q&A
related talks
35mHow Do Python Coroutines Work?
57mFear and Awaiting in Async: A Savage Journey to the Heart of the Coroutine Dream
30m"Asyncio by Example"
56mLeveraging Async and Await in Modern Python
45mCoroutines explained
01h 29mStandardised Coroutine Concurrency in Python 3
01h 00mCoroutine Concurrency in Python 3 with asyncio
31mA Really Gentle Introduction to Asyncio
