Basic toolkit for async iterators
Apologies if this has already been raised at some point, but I wanted to raise the idea of a basic standard library toolkit for operations on async iterators. This would include versions of functions that are already in the standard library for non-async iterators, such as *map*, *filter*,*zip *etc. It could also include a *merge* function for async iterators, for example (this would yield items in whatever order they are yielded from from the constituent iterators). There are, of course, open source libraries providing these functions. But in general there is far too wide a range of such libraries, and it is difficult to tell which ones are best maintained. For the most basic and universally useful of operations on async iterators, it would be far better if they were part of the standard library.
map and filter are already available as comprehension syntax However zip and merge are tricky because you'd need to schedule all `__anext__()` coroutines from all input AsyncIterables. The stdlib would need to know how to spawn tasks in such a way they could be understood by the framework that spawned the currently executing coroutine
participants (2)
-
Sam Frances
-
Thomas Grainger