1717 Callable ,
1818 Generic ,
1919 Iterable ,
20- NamedTuple ,
2120 Sequence ,
2221 TypeVar ,
2322 cast ,
@@ -575,7 +574,8 @@ class FlowLiveUpdaterOptions:
575574 print_stats : bool = False
576575
577576
578- class FlowUpdaterStatusUpdates (NamedTuple ):
577+ @dataclass
578+ class FlowUpdaterStatusUpdates :
579579 """
580580 Status updates for a flow updater.
581581 """
@@ -1060,12 +1060,14 @@ def _get_data_slice_annotation_type(
10601060_transform_flow_name_builder = _NameBuilder ()
10611061
10621062
1063- class TransformFlowInfo (NamedTuple ):
1063+ @dataclass
1064+ class TransformFlowInfo (Generic [T ]):
10641065 engine_flow : _engine .TransientFlow
10651066 result_decoder : Callable [[Any ], T ]
10661067
10671068
1068- class FlowArgInfo (NamedTuple ):
1069+ @dataclass
1070+ class FlowArgInfo :
10691071 name : str
10701072 type_hint : Any
10711073 encoder : Callable [[Any ], Any ]
@@ -1081,7 +1083,7 @@ class TransformFlow(Generic[T]):
10811083 _args_info : list [FlowArgInfo ]
10821084
10831085 _lazy_lock : asyncio .Lock
1084- _lazy_flow_info : TransformFlowInfo | None = None
1086+ _lazy_flow_info : TransformFlowInfo [ T ] | None = None
10851087
10861088 def __init__ (
10871089 self ,
@@ -1123,20 +1125,20 @@ def __call__(self, *args: Any, **kwargs: Any) -> DataSlice[T]:
11231125 return self ._flow_fn (* args , ** kwargs )
11241126
11251127 @property
1126- def _flow_info (self ) -> TransformFlowInfo :
1128+ def _flow_info (self ) -> TransformFlowInfo [ T ] :
11271129 if self ._lazy_flow_info is not None :
11281130 return self ._lazy_flow_info
11291131 return execution_context .run (self ._flow_info_async ())
11301132
1131- async def _flow_info_async (self ) -> TransformFlowInfo :
1133+ async def _flow_info_async (self ) -> TransformFlowInfo [ T ] :
11321134 if self ._lazy_flow_info is not None :
11331135 return self ._lazy_flow_info
11341136 async with self ._lazy_lock :
11351137 if self ._lazy_flow_info is None :
11361138 self ._lazy_flow_info = await self ._build_flow_info_async ()
11371139 return self ._lazy_flow_info
11381140
1139- async def _build_flow_info_async (self ) -> TransformFlowInfo :
1141+ async def _build_flow_info_async (self ) -> TransformFlowInfo [ T ] :
11401142 flow_builder_state = _FlowBuilderState (self ._flow_name )
11411143 kwargs : dict [str , DataSlice [T ]] = {}
11421144 for arg_info in self ._args_info :
0 commit comments