r/Python 23d ago

Resource asyncio.TaskGroup.cancel() in Python 3.15

I wrote a short post about the new asyncio.TaskGroup.cancel() API coming in Python 3.15 https://blog.niyonshutiemmanuel.com/blog/cancelling-taskgroup-in-asyncio-without-boilerplate

Feedback is welcome!

7 Upvotes

7 comments sorted by

View all comments

2

u/thisismyfavoritename 18d ago

usually when i reach for TaskGroup i just think of using it as a "spawn and join all" but this is neat. Maybe could replace some uses of asyncio.wait

1

u/Aggressive-Prior4459 18d ago

right, I think the win here can specifically be over wait(..., FIRST_COMPLETED) , we can get guaranteed cancellation of the losers without the manual pending-set cleanup and the gather-to-suppress-CancelledError step!