Skip to content

Commit 34858d7

Browse files
[docker] Add missing type annotations in docker.types
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
1 parent e78872c commit 34858d7

File tree

5 files changed

+74
-77
lines changed

5 files changed

+74
-77
lines changed

stubs/docker/docker/types/base.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Mapping
2+
from typing import Any
33

4-
class DictType(dict[str, Incomplete]):
5-
def __init__(self, init: Mapping[str, Incomplete]) -> None: ...
4+
class DictType(dict[str, Any]):
5+
def __init__(self, init: Mapping[str, Any]) -> None: ...

stubs/docker/docker/types/containers.pyi

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Iterable, Mapping
32
from typing import Any, Final, Literal
43

@@ -20,61 +19,61 @@ class LogConfigTypesEnum:
2019

2120
class LogConfig(DictType):
2221
types: type[LogConfigTypesEnum]
23-
def __init__(self, **kwargs) -> None: ...
22+
def __init__(self, **kwargs: Any) -> None: ...
2423
@property
25-
def type(self): ...
24+
def type(self) -> str: ...
2625
@type.setter
27-
def type(self, value) -> None: ...
26+
def type(self, value: str) -> None: ...
2827
@property
29-
def config(self): ...
30-
def set_config_value(self, key, value) -> None: ...
31-
def unset_config(self, key) -> None: ...
28+
def config(self) -> dict[str, str]: ...
29+
def set_config_value(self, key: str, value: str) -> None: ...
30+
def unset_config(self, key: str) -> None: ...
3231

3332
class Ulimit(DictType):
34-
def __init__(self, **kwargs) -> None: ...
33+
def __init__(self, **kwargs: Any) -> None: ...
3534
@property
36-
def name(self): ...
35+
def name(self) -> str: ...
3736
@name.setter
38-
def name(self, value) -> None: ...
37+
def name(self, value: str) -> None: ...
3938
@property
40-
def soft(self): ...
39+
def soft(self) -> int | None: ...
4140
@soft.setter
42-
def soft(self, value) -> None: ...
41+
def soft(self, value: int | None) -> None: ...
4342
@property
44-
def hard(self): ...
43+
def hard(self) -> int | None: ...
4544
@hard.setter
46-
def hard(self, value) -> None: ...
45+
def hard(self, value: int | None) -> None: ...
4746

4847
class DeviceRequest(DictType):
49-
def __init__(self, **kwargs) -> None: ...
48+
def __init__(self, **kwargs: Any) -> None: ...
5049
@property
51-
def driver(self): ...
50+
def driver(self) -> str: ...
5251
@driver.setter
53-
def driver(self, value) -> None: ...
52+
def driver(self, value: str) -> None: ...
5453
@property
55-
def count(self): ...
54+
def count(self) -> int: ...
5655
@count.setter
57-
def count(self, value) -> None: ...
56+
def count(self, value: int) -> None: ...
5857
@property
59-
def device_ids(self): ...
58+
def device_ids(self) -> list[str]: ...
6059
@device_ids.setter
61-
def device_ids(self, value) -> None: ...
60+
def device_ids(self, value: list[str]) -> None: ...
6261
@property
63-
def capabilities(self): ...
62+
def capabilities(self) -> list[list[str]]: ...
6463
@capabilities.setter
65-
def capabilities(self, value) -> None: ...
64+
def capabilities(self, value: list[list[str]]) -> None: ...
6665
@property
67-
def options(self): ...
66+
def options(self) -> dict[str, str]: ...
6867
@options.setter
69-
def options(self, value) -> None: ...
68+
def options(self, value: dict[str, str]) -> None: ...
7069

71-
class HostConfig(dict[str, Incomplete]):
70+
class HostConfig(dict[str, Any]):
7271
def __init__(
7372
self,
7473
version: str,
7574
binds: dict[str, Mapping[str, str]] | list[str] | None = None,
76-
port_bindings: Mapping[int | str, Incomplete] | None = None,
77-
lxc_conf: dict[str, Incomplete] | list[dict[str, Incomplete]] | None = None,
75+
port_bindings: Mapping[int | str, Any] | None = None,
76+
lxc_conf: dict[str, str] | list[dict[str, str]] | None = None,
7877
publish_all_ports: bool = False,
7978
links: dict[str, str] | dict[str, None] | dict[str, str | None] | Iterable[tuple[str, str | None]] | None = None,
8079
privileged: bool = False,
@@ -86,7 +85,7 @@ class HostConfig(dict[str, Incomplete]):
8685
cap_add: list[str] | None = None,
8786
cap_drop: list[str] | None = None,
8887
devices: list[str] | None = None,
89-
extra_hosts: dict[str, Incomplete] | list[Incomplete] | None = None,
88+
extra_hosts: dict[str, str] | list[str] | None = None,
9089
read_only: bool | None = None,
9190
pid_mode: str | None = None,
9291
ipc_mode: str | None = None,
@@ -113,15 +112,15 @@ class HostConfig(dict[str, Incomplete]):
113112
sysctls: dict[str, str] | None = None,
114113
tmpfs: dict[str, str] | None = None,
115114
oom_score_adj: int | None = None,
116-
dns_opt: list[Incomplete] | None = None,
115+
dns_opt: list[str] | None = None,
117116
cpu_shares: int | None = None,
118117
cpuset_cpus: str | None = None,
119118
userns_mode: str | None = None,
120119
uts_mode: str | None = None,
121120
pids_limit: int | None = None,
122121
isolation: str | None = None,
123122
auto_remove: bool = False,
124-
storage_opt: dict[Incomplete, Incomplete] | None = None,
123+
storage_opt: dict[str, str] | None = None,
125124
init: bool | None = None,
126125
init_path: str | None = None,
127126
volume_driver: str | None = None,
@@ -133,7 +132,7 @@ class HostConfig(dict[str, Incomplete]):
133132
mounts: list[Mount] | None = None,
134133
cpu_rt_period: int | None = None,
135134
cpu_rt_runtime: int | None = None,
136-
device_cgroup_rules: list[Incomplete] | None = None,
135+
device_cgroup_rules: list[str] | None = None,
137136
device_requests: list[DeviceRequest] | None = None,
138137
cgroupns: Literal["private", "host"] | None = None,
139138
) -> None: ...
@@ -143,7 +142,7 @@ def host_config_version_error(param: str, version: str, less_than: bool = True)
143142
def host_config_value_error(param: str, param_value: object) -> ValueError: ...
144143
def host_config_incompatible_error(param: str, param_value: str, incompatible_param: str) -> errors.InvalidArgument: ...
145144

146-
class ContainerConfig(dict[str, Incomplete]):
145+
class ContainerConfig(dict[str, Any]):
147146
def __init__(
148147
self,
149148
version: str,
@@ -156,7 +155,7 @@ class ContainerConfig(dict[str, Incomplete]):
156155
tty: bool = False,
157156
# list is invariant, enumerating all possible union combination would be too complex for:
158157
# list[str | int | tuple[int | str, str] | tuple[int | str, ...]]
159-
ports: dict[str, dict[Incomplete, Incomplete]] | list[Any] | None = None,
158+
ports: dict[str, dict[str, str]] | list[Any] | None = None,
160159
environment: dict[str, str] | list[str] | None = None,
161160
volumes: str | list[str] | None = None,
162161
network_disabled: bool = False,
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
1+
from typing import Any
2+
13
from .base import DictType
24

35
class Healthcheck(DictType):
4-
def __init__(self, **kwargs) -> None: ...
6+
def __init__(self, **kwargs: Any) -> None: ...
57
@property
6-
def test(self): ...
8+
def test(self) -> list[str] | None: ...
79
@test.setter
8-
def test(self, value) -> None: ...
10+
def test(self, value: str | list[str] | None) -> None: ...
911
@property
10-
def interval(self): ...
12+
def interval(self) -> int | None: ...
1113
@interval.setter
12-
def interval(self, value) -> None: ...
14+
def interval(self, value: int | None) -> None: ...
1315
@property
14-
def timeout(self): ...
16+
def timeout(self) -> int | None: ...
1517
@timeout.setter
16-
def timeout(self, value) -> None: ...
18+
def timeout(self, value: int | None) -> None: ...
1719
@property
18-
def retries(self): ...
20+
def retries(self) -> int | None: ...
1921
@retries.setter
20-
def retries(self, value) -> None: ...
22+
def retries(self, value: int | None) -> None: ...
2123
@property
22-
def start_period(self): ...
24+
def start_period(self) -> int | None: ...
2325
@start_period.setter
24-
def start_period(self, value) -> None: ...
26+
def start_period(self, value: int | None) -> None: ...

stubs/docker/docker/types/networks.pyi

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Iterable
2+
from typing import Any
33

4-
class EndpointConfig(dict[str, Incomplete]):
4+
class EndpointConfig(dict[str, Any]):
55
def __init__(
66
self,
77
version: str,
@@ -10,22 +10,19 @@ class EndpointConfig(dict[str, Incomplete]):
1010
ipv4_address: str | None = None,
1111
ipv6_address: str | None = None,
1212
link_local_ips: list[str] | None = None,
13-
driver_opt=None,
13+
driver_opt: dict[str, str] | None = None,
1414
mac_address: str | None = None,
1515
) -> None: ...
1616

17-
class NetworkingConfig(dict[str, Incomplete]):
17+
class NetworkingConfig(dict[str, Any]):
1818
def __init__(self, endpoints_config: EndpointConfig | None = None) -> None: ...
1919

20-
class IPAMConfig(dict[str, Incomplete]):
20+
class IPAMConfig(dict[str, Any]):
2121
def __init__(
22-
self,
23-
driver: str = "default",
24-
pool_configs: list[IPAMPool] | None = None,
25-
options: dict[Incomplete, Incomplete] | None = None,
22+
self, driver: str = "default", pool_configs: list[IPAMPool] | None = None, options: dict[str, str] | None = None
2623
) -> None: ...
2724

28-
class IPAMPool(dict[str, Incomplete]):
25+
class IPAMPool(dict[str, Any]):
2926
def __init__(
3027
self,
3128
subnet: str | None = None,

stubs/docker/docker/types/services.pyi

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
from _typeshed import Incomplete
21
from collections.abc import Iterable, Mapping
3-
from typing import Final, Literal, TypedDict, TypeVar, overload, type_check_only
2+
from typing import Any, Final, Literal, TypedDict, TypeVar, overload, type_check_only
43

54
from .healthcheck import Healthcheck
65

76
_T = TypeVar("_T")
87

9-
class TaskTemplate(dict[str, Incomplete]):
8+
class TaskTemplate(dict[str, Any]):
109
def __init__(
1110
self,
1211
container_spec: ContainerSpec,
@@ -26,14 +25,14 @@ class TaskTemplate(dict[str, Incomplete]):
2625
@property
2726
def placement(self) -> Placement: ...
2827

29-
class ContainerSpec(dict[str, Incomplete]):
28+
class ContainerSpec(dict[str, Any]):
3029
def __init__(
3130
self,
3231
image: str,
3332
command: str | list[str] | None = None,
3433
args: list[str] | None = None,
3534
hostname: str | None = None,
36-
env: dict[str, Incomplete] | list[str] | None = None,
35+
env: dict[str, str | bytes | None] | list[str] | None = None,
3736
workdir: str | None = None,
3837
user: str | None = None,
3938
labels: dict[str, str] | None = None,
@@ -57,7 +56,7 @@ class ContainerSpec(dict[str, Incomplete]):
5756
sysctls: dict[str, str] | None = None,
5857
) -> None: ...
5958

60-
class Mount(dict[str, Incomplete]):
59+
class Mount(dict[str, Any]):
6160
def __init__(
6261
self,
6362
target: str,
@@ -80,7 +79,7 @@ class _ResourceDict(TypedDict):
8079
Kind: str
8180
Value: int
8281

83-
class Resources(dict[str, Incomplete]):
82+
class Resources(dict[str, Any]):
8483
def __init__(
8584
self,
8685
cpu_limit: int | None = None,
@@ -92,7 +91,7 @@ class Resources(dict[str, Incomplete]):
9291
) = None,
9392
) -> None: ...
9493

95-
class UpdateConfig(dict[str, Incomplete]):
94+
class UpdateConfig(dict[str, Any]):
9695
def __init__(
9796
self,
9897
parallelism: int = 0,
@@ -110,16 +109,16 @@ class RestartConditionTypesEnum:
110109
ON_FAILURE: Final = "on-failure"
111110
ANY: Final = "any"
112111

113-
class RestartPolicy(dict[str, Incomplete]):
112+
class RestartPolicy(dict[str, Any]):
114113
condition_types: type[RestartConditionTypesEnum]
115114
def __init__(
116115
self, condition: Literal["none", "on-failure", "any"] = "none", delay: int = 0, max_attempts: int = 0, window: int = 0
117116
) -> None: ...
118117

119-
class DriverConfig(dict[str, Incomplete]):
118+
class DriverConfig(dict[str, Any]):
120119
def __init__(self, name: str, options: dict[str, str] | None = None) -> None: ...
121120

122-
class EndpointSpec(dict[str, Incomplete]):
121+
class EndpointSpec(dict[str, Any]):
123122
def __init__(
124123
self, mode: str | None = None, ports: Mapping[str, str | tuple[str | None, ...]] | list[dict[str, str]] | None = None
125124
) -> None: ...
@@ -129,7 +128,7 @@ def convert_service_ports(ports: list[_T]) -> list[_T]: ...
129128
@overload
130129
def convert_service_ports(ports: Mapping[str, str | tuple[str | None, ...]]) -> list[dict[str, str]]: ...
131130

132-
class ServiceMode(dict[str, Incomplete]):
131+
class ServiceMode(dict[str, Any]):
133132
mode: Literal["replicated", "global", "ReplicatedJob", "GlobalJob"]
134133
def __init__(
135134
self,
@@ -140,7 +139,7 @@ class ServiceMode(dict[str, Incomplete]):
140139
@property
141140
def replicas(self) -> int | None: ...
142141

143-
class SecretReference(dict[str, Incomplete]):
142+
class SecretReference(dict[str, Any]):
144143
def __init__(
145144
self,
146145
secret_id: str,
@@ -151,7 +150,7 @@ class SecretReference(dict[str, Incomplete]):
151150
mode: int = 292,
152151
) -> None: ...
153152

154-
class ConfigReference(dict[str, Incomplete]):
153+
class ConfigReference(dict[str, Any]):
155154
def __init__(
156155
self,
157156
config_id: str,
@@ -162,7 +161,7 @@ class ConfigReference(dict[str, Incomplete]):
162161
mode: int = 292,
163162
) -> None: ...
164163

165-
class Placement(dict[str, Incomplete]):
164+
class Placement(dict[str, Any]):
166165
def __init__(
167166
self,
168167
constraints: list[str] | None = None,
@@ -171,15 +170,15 @@ class Placement(dict[str, Incomplete]):
171170
maxreplicas: int | None = None,
172171
) -> None: ...
173172

174-
class PlacementPreference(dict[str, Incomplete]):
173+
class PlacementPreference(dict[str, Any]):
175174
def __init__(self, strategy: Literal["spread"], descriptor: str) -> None: ...
176175

177-
class DNSConfig(dict[str, Incomplete]):
176+
class DNSConfig(dict[str, Any]):
178177
def __init__(
179178
self, nameservers: list[str] | None = None, search: list[str] | None = None, options: list[str] | None = None
180179
) -> None: ...
181180

182-
class Privileges(dict[str, Incomplete]):
181+
class Privileges(dict[str, Any]):
183182
def __init__(
184183
self,
185184
credentialspec_file: str | None = None,
@@ -191,5 +190,5 @@ class Privileges(dict[str, Incomplete]):
191190
selinux_level: str | None = None,
192191
) -> None: ...
193192

194-
class NetworkAttachmentConfig(dict[str, Incomplete]):
193+
class NetworkAttachmentConfig(dict[str, Any]):
195194
def __init__(self, target: str, aliases: list[str] | None = None, options: dict[str, str] | None = None) -> None: ...

0 commit comments

Comments
 (0)