Skip to content

Commit 38c2fe4

Browse files
authored
fix: avoid mypy glitches (#1064)
1 parent 26554bd commit 38c2fe4

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

python/cocoindex/flow.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
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

Comments
 (0)