Python type hints: make WindowedValue, TimestampedValue Generic
Open
bug
core
P3
python
- Dominant language
- Java
- Stars
- 8.7k
- Forks
- 4.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 196
Description
The above classes are used as return value wrappers, thus when converting return value annotations to type hints, the argument of these should be used as the hint.
Example (this should pass but doesn't currently):
```
def test_timestamped_value(self):
def timestamped(e: int) -> beam.window.TimestampedValue[int]:
return beam.window.TimestampedValue(e, 0)
with TestPipeline() as p:
pcoll = p | beam.Create([1,
2, 3]) | beam.Map(timestamped)
self.assertEqual(int, pcoll.element_type)
```
Imported from Jira [BEAM-10323](https://issues.apache.org/jira/browse/BEAM-10323). Original Jira may contain additional context.
Reported by: udim.
Contributor guide
Assessment
This issue has not been assessed yet.