Python 3.11 has its own concept of a task group, but the mechanics are quite a bit different. What sets any IO task groups apart from async IO task groups is the way cancellation is done. Cancellation is not done on a per test basis, but on a per cancel scope basis. You can have cancel scopes nested. So if you start a task and it starts cancel scope, you can just cancel that scope and it cancels everything up to that point.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode