ssjhv commented on issue #23366:
URL: https://github.com/apache/beam/issues/23366#issuecomment-1472675930
Is PEP-585 supposed to be fully handled now? I noticed that imports from
`collections.abc` raised typehint errors.
Example:
```python
from collections.abc import Iterator
import apache_beam as beam
def add_range(n: int) -> Iterator[int]:
for i in range(n):
yield i
with beam.Pipeline() as p:
numbers = p | "Create" >> beam.Create([1, 2, 3, 4, 5])
numbers = numbers | beam.FlatMap(add_range)
_ = numbers | beam.combiners.Count.PerElement() | beam.Map(print
```
```
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/usr/local/lib/python3.9/dist-packages/apache_beam/transforms/core.py in
default_type_hints(self)
959 try:
--> 960 type_hints = type_hints.strip_iterable()
961 except ValueError as e:
9 frames
ValueError: collections.abc.Iterator[int] is not iterable
During handling of the above exception, another exception occurred:
TypeCheckError Traceback (most recent call last)
/usr/local/lib/python3.9/dist-packages/apache_beam/transforms/core.py in
default_type_hints(self)
960 type_hints = type_hints.strip_iterable()
961 except ValueError as e:
--> 962 raise TypeCheckError(
963 'Return value not iterable: %s: %s' %
964 (self.display_data()['fn'].value, e))
TypeCheckError: Return value not iterable: add_range:
collections.abc.Iterator[int] is not iterable
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]