HackerTube.dev

Build Your Own Async

David Beazley · 59.8K views · 2019-10-17 · 2:12:42

Open on YouTube ↗

If playback is restricted in your region, try opening the original video. Use Mark watched to add it to your marked videos.

Overview

David Beazley's workshop screencast builds asynchronous programming in Python from scratch, starting from callbacks and continuations and replacing threads to show how concurrency works underneath.

On Hacker News

HN people recommend it as the best way to understand what async machinery actually does under the covers.

Recommended by 4 HN people across 3 months · HN mentions 2020–2023

Topics

Search by tags

What people said

devxpy · 2020-05 · Strong recommendation

Yes, something like that. Like here's David's "Build Your Own Async" [1], which I prefer over Philip's (still extremely good) "What the heck is the event loop anyway?" [2]. It's one thing to tell how something works, but to successfully show what the hell its actually doing under the covers, just conveys much more information. [1] [VIDEO] [2] [LINK]

Read the original HN comment ↗
migueloller · 2020-05 · Strong recommendation

I've found this [1] screencast on the low-level principles of async in Python an amazing resource to understand async at a deep level. [1] [VIDEO]

Read the original HN comment ↗
mananaysiempre · 2023-09 · Recommendation

> I talk about generators as if they were the coroutine system in Python, but in fact, they’re one of two: Python also has a completely different kind of thing that it actually uses the name ‘coroutine’ for, in which function definitions start with async def and suspend with await . The async and await system of coroutines in Python is in fact layered on top of the yield system, via an intermediate construct called yield from —which isn’t even technically required, it’s just that implementing it as a loop passing values through from and to the subcoroutine is exceptionally tedious if done correctly[1] and can’t be abstracted as a function call. As a first approximation, await x in Python is equivalent to yield from x.__await__() . It should have been completely equivalent, arguably, but history got in the way. David Beazley has a talk[2] where he walks you through implementing an async runtime (to put it pompously) and you can see how the whole thing hangs together. It’s really quite simple, and in my experience it’s much better than trying to wrap your head around the asyncio docs, because while the language-level foundations are extremely nice and simple, asyncio the stdlib module just kind of sucks. [1] [LINK] [2] [VIDEO]

Read the original HN comment ↗

Sources

Video by David Beazley, played through YouTube.

Data and selection notes

HN summaries and labels may contain AI errors. HN dates refer to discussions, not video publication.

HN Library: HackerTube export (2026-10-31) and open-index/hacker-news. Upstream summaries and classifications may contain AI errors.

Views, duration and playback status refresh separately from the published catalog. When an update fails, existing data remains visible.

Selection checks
  • SaaS & AI candidates: Topic keywords do not match
  • Editor-approved picks: Editorial review is required

Rule matches identify candidates. They do not guarantee video quality or financial results.

About the library and its sources