One event loop runs whichever of several awaiting tasks is ready, while the others wait.

Async Python

No reviews yet

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

Certificate when you finish Available inEnglishNederlandsDeutsch

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

Where to Go Next