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]

Reply via email to