From e1bb4edfe4b0263233d45fecdb899300159e92ba Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Wed, 22 May 2024 23:25:36 +0100 Subject: [PATCH] Add types for Docker client from_env kwargs (#11989) --- stubs/docker/docker/client.pyi | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/stubs/docker/docker/client.pyi b/stubs/docker/docker/client.pyi index 5a733a1e8..7a96c165d 100644 --- a/stubs/docker/docker/client.pyi +++ b/stubs/docker/docker/client.pyi @@ -1,4 +1,5 @@ -from typing import NoReturn +from collections.abc import Iterable +from typing import NoReturn, Protocol, type_check_only from docker import APIClient from docker.models.configs import ConfigCollection @@ -12,11 +13,24 @@ from docker.models.services import ServiceCollection from docker.models.swarm import Swarm from docker.models.volumes import VolumeCollection +@type_check_only +class _Environ(Protocol): + def __getitem__(self, k: str, /) -> str: ... + def keys(self) -> Iterable[str]: ... + class DockerClient: api: APIClient def __init__(self, *args, **kwargs) -> None: ... @classmethod - def from_env(cls, **kwargs) -> DockerClient: ... + def from_env( + cls, + *, + version: str | None = None, + timeout: int = ..., + max_pool_size: int = ..., + environment: _Environ | None = None, + use_ssh_client: bool = False, + ) -> DockerClient: ... @property def configs(self) -> ConfigCollection: ... @property