From cdb3e869c947d79b4ba1d30e7609bc2d31c66762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Fern=C3=A1ndez=20Iglesias?= Date: Mon, 1 Dec 2025 08:55:26 +0100 Subject: [PATCH 1/2] [docker-py] Add `exec_start` overload --- stubs/docker/docker/api/exec_api.pyi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/stubs/docker/docker/api/exec_api.pyi b/stubs/docker/docker/api/exec_api.pyi index 0c50a6091cbe..79437b4f73eb 100644 --- a/stubs/docker/docker/api/exec_api.pyi +++ b/stubs/docker/docker/api/exec_api.pyi @@ -115,3 +115,21 @@ class ExecApiMixin: socket: Literal[False] = False, demux: Literal[False] = False, ) -> str: ... + @overload + def exec_start( + self, + exec_id: str, + detach: bool = False, + tty: bool = False, + stream: bool = False, + socket: bool = False, + demux: bool = False, + ) -> ( + str + | SocketIO + | _BufferedReaderStream + | SSHSocket + | CancellableStream[str] + | CancellableStream[tuple[str | None, str | None]] + | tuple[str | None, str | None] + ): ... From 0cb8099246c1cc46b7d15b922dcaa9370ffa012d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Fern=C3=A1ndez=20Iglesias?= Date: Mon, 1 Dec 2025 09:21:16 +0100 Subject: [PATCH 2/2] [docker-py] Fix `exec_start` return sub-type on stream --- stubs/docker/docker/api/exec_api.pyi | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/stubs/docker/docker/api/exec_api.pyi b/stubs/docker/docker/api/exec_api.pyi index 79437b4f73eb..d2555e198210 100644 --- a/stubs/docker/docker/api/exec_api.pyi +++ b/stubs/docker/docker/api/exec_api.pyi @@ -72,7 +72,7 @@ class ExecApiMixin: stream: Literal[True], socket: Literal[False], demux: Literal[False], - ) -> CancellableStream[str]: ... + ) -> CancellableStream[bytes]: ... @overload def exec_start( self, @@ -83,7 +83,7 @@ class ExecApiMixin: stream: Literal[True], socket: Literal[False] = False, demux: Literal[False] = False, - ) -> CancellableStream[str]: ... + ) -> CancellableStream[bytes]: ... @overload def exec_start( self, @@ -114,7 +114,7 @@ class ExecApiMixin: stream: Literal[False] = False, socket: Literal[False] = False, demux: Literal[False] = False, - ) -> str: ... + ) -> bytes: ... @overload def exec_start( self, @@ -129,7 +129,8 @@ class ExecApiMixin: | SocketIO | _BufferedReaderStream | SSHSocket - | CancellableStream[str] + | CancellableStream[bytes] | CancellableStream[tuple[str | None, str | None]] | tuple[str | None, str | None] + | bytes ): ...