async_generator
async_generator copied to clipboard
Making it easy to write async iterators in Python 3.5
Now that Python 3.6 reached EOL, I believe this library does more harm than good and we should deprecate it and eventually archive it. What do you think?
I was expecting something like the following example to work, but it does not. This originally came up in: https://github.com/tiangolo/fastapi/issues/1204 ```python from async_generator import asynccontextmanager class GenClass: async def __call__(self):...
Mainly to clarify that the async generator and async context manager examples are actually two different examples, since Ninpo found this confusing. But then once I started editing I of...
Workaround for https://bugs.python.org/issue33786 that wasn't backported until python 3.7.9: https://github.com/python/cpython/commits/13c94747c74437e594b7fc242ff7da668e81887c.
Python version: `Python 3.7.6+ (heads/3.7:b0a6ec256b)` OS: `macOS 10.14.6` `async_generator.asynccontextmanager` started to fail in python [`3.7-dev`](https://github.com/python/cpython/commits/3.7)(which is also the `3.7-dev` in `pyenv`). If we change to use `contextlib.asynccontextmanager`, it works. It's...
I have an abstract class that defines an abstract async context manager (Python 3.7 code): ```python import abc import contextlib class Foo(metaclass=abc.ABCMeta): @abc.abstractmethod @contextlib.asynccontextmanager async def bar(self): pass ``` In...
Instead of trying to explicitly construct AsyncGenValueWrapper objects, trick the interpreter into doing the wrapping and unwrapping for us. There's still some ctypes hackery involved, but it's much less finicky:...
This improves performance and offers cleaner tracebacks, although native generators continue to have the failure mode of https://bugs.python.org/issue32526 and to provide not-very-clear exception messages when they're misused. Since the semantics...
Hello. Python3.13 warns that setuptools now focuses on the build step and will soon drop support for the install step. The patch at https://sources.debian.org/src/python-async-generator/1.10-6/debian/patches/pyproject.diff seems to work without warnings.