diff --git a/google/generativeai/types/generation_types.py b/google/generativeai/types/generation_types.py index dc95b4cab..ff2ce1441 100644 --- a/google/generativeai/types/generation_types.py +++ b/google/generativeai/types/generation_types.py @@ -27,6 +27,20 @@ "GenerateContentResponse", ] +if sys.version_info < (3, 10): + + def aiter(obj): + return obj.__aiter__() + + async def anext(obj, default=None): + try: + return await obj.__anext__() + except StopAsyncIteration: + if default is not None: + return default + else: + raise + class BlockedPromptException(Exception): pass diff --git a/tests/test_generative_models_async.py b/tests/test_generative_models_async.py index 1c48f3476..3fe4e9ddc 100644 --- a/tests/test_generative_models_async.py +++ b/tests/test_generative_models_async.py @@ -75,10 +75,6 @@ async def test_basic(self): self.assertEqual(response.text, "world!") - @unittest.skipIf( - sys.version_info.major == 3 and sys.version_info.minor < 10, - "streaming async requires python 3.10+", - ) async def test_streaming(self): # Generate text from text prompt model = generative_models.GenerativeModel(model_name="gemini-m")