@@ -1122,13 +1122,26 @@ class UnixRunProcessMixin(TypedDict, total=False):
1122
1122
check : bool
1123
1123
deliver_cancel : Callable [[Process ], Awaitable [None ]] | None
1124
1124
1125
+ # TODO: once https://github.com/python/mypy/issues/18692 is
1126
+ # fixed, move the `UnixRunProcessArgs` definition down.
1125
1127
if sys .version_info >= (3 , 11 ):
1126
1128
UnixProcessArgs = UnixProcessArgs3_11
1129
+
1130
+ class UnixRunProcessArgs (UnixProcessArgs3_11 , UnixRunProcessMixin ):
1131
+ """Arguments for run_process on Unix with 3.11+"""
1132
+
1127
1133
elif sys .version_info >= (3 , 10 ):
1128
1134
UnixProcessArgs = UnixProcessArgs3_10
1135
+
1136
+ class UnixRunProcessArgs (UnixProcessArgs3_10 , UnixRunProcessMixin ):
1137
+ """Arguments for run_process on Unix with 3.10+"""
1138
+
1129
1139
else :
1130
1140
UnixProcessArgs = UnixProcessArgs3_9
1131
1141
1142
+ class UnixRunProcessArgs (UnixProcessArgs3_9 , UnixRunProcessMixin ):
1143
+ """Arguments for run_process on Unix with 3.9+"""
1144
+
1132
1145
@overload # type: ignore[no-overload-impl]
1133
1146
async def open_process (
1134
1147
command : StrOrBytesPath ,
@@ -1147,9 +1160,6 @@ async def open_process(
1147
1160
** kwargs : Unpack [UnixProcessArgs ],
1148
1161
) -> trio .Process : ...
1149
1162
1150
- class UnixRunProcessArgs (UnixProcessArgs , UnixRunProcessMixin ):
1151
- pass
1152
-
1153
1163
@overload # type: ignore[no-overload-impl]
1154
1164
async def run_process (
1155
1165
command : StrOrBytesPath ,
0 commit comments