Reactivex like operators that can be used directly on async iterables
I'm a fan of the [operators](https://rxpy.readthedocs.io/en/latest/reference_operators.html) available in ReactiveX. I'm not a fan of observables, and all the other cruft that comes with using reactivex.  I would much rather be writing async generators, and using them in async for loops.

So I've started writing a library that implements the operators typically found in Reactivex libraries, and I'm posting it here for some early feedback.  
Source: [https://github.com/garyvdm/aiterx](https://github.com/garyvdm/aiterx)  
Example:

    &gt;&gt;&gt; from asyncio import run, sleep
    &gt;&gt;&gt; from aiterx import debounce
    &gt;&gt;&gt; 
    &gt;&gt;&gt; async def source():
    ...     yield 1
    ...     await sleep(0.2)
    ...     yield 2
    ...     await sleep(0.1)
    ...     yield 3
    ...     await sleep(0.1)
    ...     yield 4
    ...     await sleep(0.2)
    ...     yield 5
    ... 
    &gt;&gt;&gt; async def test_debounce():
    ...     async for item in debounce(source(), 0.15):
    ...         print(item)
    ... 
    &gt;&gt;&gt; run(test_debounce())
    1
    4
    5

Have I missed some existing library that does what I need?  I did looked at these before I started:

* [rxpy](https://rxpy.readthedocs.io/en/latest/)
* [aioreactive](https://github.com/dbrattli/aioreactive)
* [async-rx](https://geronimo-iia.github.io/async-rx/)

Any feedback on the work I have done so far?