
Async Python
Write Python that waits for many things at once. You will define and await coroutines, run independent waits side by side with gather and TaskGroup, put a deadline on every one, make async HTTP requests with httpx, keep blocking code from freezing everything else, and open and serve TCP streams on the loopback address.
The course has two parts. Part one teaches by use and ends with Pulse, a tested command-line health checker that checks every target at once; it is a complete course on its own. Part two explains how the event loop works and adds tasks, cancellation, queues, limits, and async testing, turning Pulse into a watcher that stops cleanly; it ends with choosing between async code, threads and processes.
You need Python in Practice first. No networking course is needed. You work in the site's editor and terminal, in a sandbox with no route to the public internet, against an internal practice service and servers on 127.0.0.1.
15
chapters
58
lessons
30
practice exercises
16
projects
Lessons are arranged in a recommended order, but you can open any lesson.
Chapter 1
A Program That Mostly Waits
Chapter 2
Your First Coroutines
Chapter 3
Many Waits at Once
Chapter 4
Async HTTP With httpx
Chapter 5
Never Block the Loop
Chapter 6
Streams on Loopback
Chapter 7
Capstone: Pulse, a Concurrent Checker
Chapter 8
Inside a Coroutine
Chapter 9
Tasks and Cancellation
Chapter 10
Queues and Workers
Chapter 11
Limits, Locks, and Signals
Chapter 12
Testing Async Code
Chapter 13
Choosing the Right Tool
Chapter 14
Capstone: Pulse on Watch
Chapter 15