modal 0.73.18__py3-none-any.whl → 0.73.19__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- modal/client.pyi +2 -2
- modal/gpu.py +10 -12
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/METADATA +1 -1
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/RECORD +11 -11
- modal_proto/api.proto +2 -0
- modal_proto/api_pb2.pyi +6 -0
- modal_version/_version_generated.py +1 -1
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/LICENSE +0 -0
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/WHEEL +0 -0
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/entry_points.txt +0 -0
- {modal-0.73.18.dist-info → modal-0.73.19.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
@@ -27,7 +27,7 @@ class _Client:
|
|
27
27
|
_snapshotted: bool
|
28
28
|
|
29
29
|
def __init__(
|
30
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.
|
30
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.19"
|
31
31
|
): ...
|
32
32
|
def is_closed(self) -> bool: ...
|
33
33
|
@property
|
@@ -85,7 +85,7 @@ class Client:
|
|
85
85
|
_snapshotted: bool
|
86
86
|
|
87
87
|
def __init__(
|
88
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.
|
88
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.19"
|
89
89
|
): ...
|
90
90
|
def is_closed(self) -> bool: ...
|
91
91
|
@property
|
modal/gpu.py
CHANGED
@@ -9,16 +9,14 @@ from .exception import InvalidError
|
|
9
9
|
|
10
10
|
@dataclass(frozen=True)
|
11
11
|
class _GPUConfig:
|
12
|
-
type: "api_pb2.GPUType.V" # Deprecated, at some point
|
13
|
-
count: int
|
14
12
|
gpu_type: str
|
13
|
+
count: int
|
15
14
|
|
16
15
|
def _to_proto(self) -> api_pb2.GPUConfig:
|
17
16
|
"""Convert this GPU config to an internal protobuf representation."""
|
18
17
|
return api_pb2.GPUConfig(
|
19
|
-
type=self.type,
|
20
|
-
count=self.count,
|
21
18
|
gpu_type=self.gpu_type,
|
19
|
+
count=self.count,
|
22
20
|
)
|
23
21
|
|
24
22
|
|
@@ -33,7 +31,7 @@ class T4(_GPUConfig):
|
|
33
31
|
self,
|
34
32
|
count: int = 1, # Number of GPUs per container. Defaults to 1.
|
35
33
|
):
|
36
|
-
super().__init__(
|
34
|
+
super().__init__("T4", count)
|
37
35
|
|
38
36
|
def __repr__(self):
|
39
37
|
return f"GPU(T4, count={self.count})"
|
@@ -51,7 +49,7 @@ class L4(_GPUConfig):
|
|
51
49
|
self,
|
52
50
|
count: int = 1, # Number of GPUs per container. Defaults to 1.
|
53
51
|
):
|
54
|
-
super().__init__(
|
52
|
+
super().__init__("L4", count)
|
55
53
|
|
56
54
|
def __repr__(self):
|
57
55
|
return f"GPU(L4, count={self.count})"
|
@@ -71,9 +69,9 @@ class A100(_GPUConfig):
|
|
71
69
|
size: Union[str, None] = None, # Select GB configuration of GPU device: "40GB" or "80GB". Defaults to "40GB".
|
72
70
|
):
|
73
71
|
if size == "40GB" or not size:
|
74
|
-
super().__init__(
|
72
|
+
super().__init__("A100-40GB", count)
|
75
73
|
elif size == "80GB":
|
76
|
-
super().__init__(
|
74
|
+
super().__init__("A100-80GB", count)
|
77
75
|
else:
|
78
76
|
raise ValueError(f"size='{size}' is invalid. A100s can only have memory values of 40GB or 80GB.")
|
79
77
|
|
@@ -97,7 +95,7 @@ class A10G(_GPUConfig):
|
|
97
95
|
# Useful if you have very large models that don't fit on a single GPU.
|
98
96
|
count: int = 1,
|
99
97
|
):
|
100
|
-
super().__init__(
|
98
|
+
super().__init__("A10G", count)
|
101
99
|
|
102
100
|
def __repr__(self):
|
103
101
|
return f"GPU(A10G, count={self.count})"
|
@@ -119,7 +117,7 @@ class H100(_GPUConfig):
|
|
119
117
|
# Useful if you have very large models that don't fit on a single GPU.
|
120
118
|
count: int = 1,
|
121
119
|
):
|
122
|
-
super().__init__(
|
120
|
+
super().__init__("H100", count)
|
123
121
|
|
124
122
|
def __repr__(self):
|
125
123
|
return f"GPU(H100, count={self.count})"
|
@@ -140,7 +138,7 @@ class L40S(_GPUConfig):
|
|
140
138
|
# Useful if you have very large models that don't fit on a single GPU.
|
141
139
|
count: int = 1,
|
142
140
|
):
|
143
|
-
super().__init__(
|
141
|
+
super().__init__("L40S", count)
|
144
142
|
|
145
143
|
def __repr__(self):
|
146
144
|
return f"GPU(L40S, count={self.count})"
|
@@ -150,7 +148,7 @@ class Any(_GPUConfig):
|
|
150
148
|
"""Selects any one of the GPU classes available within Modal, according to availability."""
|
151
149
|
|
152
150
|
def __init__(self, *, count: int = 1):
|
153
|
-
super().__init__(
|
151
|
+
super().__init__("ANY", count)
|
154
152
|
|
155
153
|
def __repr__(self):
|
156
154
|
return f"GPU(Any, count={self.count})"
|
@@ -21,7 +21,7 @@ modal/app.py,sha256=MaWCYgNx8y2GQhmaXQBMKKAAfCYfdxrdYs6zCBoJzwI,44628
|
|
21
21
|
modal/app.pyi,sha256=lxiuWzE_OLb3WHg-H7Pek9DGBuCUzZ55P594VhJL5LA,26113
|
22
22
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
23
23
|
modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
|
24
|
-
modal/client.pyi,sha256=
|
24
|
+
modal/client.pyi,sha256=yHo_2AXu4sDbWWBYXJWUHcfSuK8PA7TCNKpb1NJ8Bso,7593
|
25
25
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
26
26
|
modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
|
27
27
|
modal/cls.py,sha256=agxclIXZbzBbgcI5PPVD7IfOiHzv-B82xaaXtw9cpv8,31126
|
@@ -41,7 +41,7 @@ modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
|
41
41
|
modal/file_pattern_matcher.py,sha256=1cZ4V2wSLiaXqAqStETSwp3bzDD6QZOt6pmmjk3Okz4,6505
|
42
42
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
43
43
|
modal/functions.pyi,sha256=YflJx4BhzmJLJzpVWbuAMv0Qv63Mgb3r9qZqrgBEr1w,14289
|
44
|
-
modal/gpu.py,sha256=
|
44
|
+
modal/gpu.py,sha256=5vJiYFAv7Ai9zeGf_lv31rJyQn1atQlCYAJv1bF1_BQ,6996
|
45
45
|
modal/image.py,sha256=ekE2693foy30Xi1LM3swKZPW6HuaACj-OBvfspVSyIE,91509
|
46
46
|
modal/image.pyi,sha256=kdJzy1eaxNPZeCpE0TMYYLhJ6UWmkfRDeb_vzngJUoQ,26462
|
47
47
|
modal/io_streams.py,sha256=QkQiizKRzd5bnbKQsap31LJgBYlAnj4-XkV_50xPYX0,15079
|
@@ -154,10 +154,10 @@ modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0
|
|
154
154
|
modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
|
155
155
|
modal_global_objects/mounts/python_standalone.py,sha256=EsC-hdPtiAPOwgW9emHN6muNUkrJwR8dYxroVArxHxM,1841
|
156
156
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
157
|
-
modal_proto/api.proto,sha256=
|
157
|
+
modal_proto/api.proto,sha256=Xb1Hm-ua7pqSZQCwvQQ_3NrTIsdImAZxAbAwLTOqFKw,85430
|
158
158
|
modal_proto/api_grpc.py,sha256=FYGqDegM_w_qxdtlxum8k31mDibKoMvmNxv_p9cKdKs,109056
|
159
159
|
modal_proto/api_pb2.py,sha256=fqNeRak26FM15cu4Y_gDBhxHSuOHuC7kOhunzLeMOpM,311114
|
160
|
-
modal_proto/api_pb2.pyi,sha256=
|
160
|
+
modal_proto/api_pb2.pyi,sha256=iI-_tqYnRl-4ILOYPvRbQ9iEfiMn16mGYTgHMGoPuGg,415750
|
161
161
|
modal_proto/api_pb2_grpc.py,sha256=DNp0Et5i_Ey4dKx_1o1LRtYhyWYyT0NzTcAY4EcHn-c,235765
|
162
162
|
modal_proto/api_pb2_grpc.pyi,sha256=RI6tWC3L8EIN4-izFSEGPPJl5Ta0lXPNuHUJaWAr35s,54892
|
163
163
|
modal_proto/modal_api_grpc.py,sha256=UG8WJU81afrWPwItWB4Ag64E9EpyREMpBbAVGVEYJiM,14550
|
@@ -171,10 +171,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
171
171
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
172
|
modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
|
173
173
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal_version/_version_generated.py,sha256=
|
175
|
-
modal-0.73.
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
178
|
-
modal-0.73.
|
179
|
-
modal-0.73.
|
180
|
-
modal-0.73.
|
174
|
+
modal_version/_version_generated.py,sha256=ruburAM2dc_egk5bmNXPC2qxGeLEA-OdC5qqdIlB0TU,149
|
175
|
+
modal-0.73.19.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
176
|
+
modal-0.73.19.dist-info/METADATA,sha256=iHzyg2XiswOew49rJEjtFkJ5sujCIYjYEsq6kP7Fkzo,2330
|
177
|
+
modal-0.73.19.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
178
|
+
modal-0.73.19.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
179
|
+
modal-0.73.19.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
180
|
+
modal-0.73.19.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -143,6 +143,8 @@ enum FunctionCallType {
|
|
143
143
|
}
|
144
144
|
|
145
145
|
enum GPUType {
|
146
|
+
// Note: this enum is no longer used by current clients - don't add new types
|
147
|
+
// Old clients still send it, so we use it server-side for compatibility
|
146
148
|
GPU_TYPE_UNSPECIFIED = 0;
|
147
149
|
GPU_TYPE_T4 = 1;
|
148
150
|
GPU_TYPE_A100 = 2;
|
modal_proto/api_pb2.pyi
CHANGED
@@ -356,6 +356,9 @@ class _GPUType:
|
|
356
356
|
class _GPUTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GPUType.ValueType], builtins.type): # noqa: F821
|
357
357
|
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
358
358
|
GPU_TYPE_UNSPECIFIED: _GPUType.ValueType # 0
|
359
|
+
"""Note: this enum is no longer used by current clients - don't add new types
|
360
|
+
Old clients still send it, so we use it server-side for compatibility
|
361
|
+
"""
|
359
362
|
GPU_TYPE_T4: _GPUType.ValueType # 1
|
360
363
|
GPU_TYPE_A100: _GPUType.ValueType # 2
|
361
364
|
GPU_TYPE_A10G: _GPUType.ValueType # 3
|
@@ -369,6 +372,9 @@ class _GPUTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTy
|
|
369
372
|
class GPUType(_GPUType, metaclass=_GPUTypeEnumTypeWrapper): ...
|
370
373
|
|
371
374
|
GPU_TYPE_UNSPECIFIED: GPUType.ValueType # 0
|
375
|
+
"""Note: this enum is no longer used by current clients - don't add new types
|
376
|
+
Old clients still send it, so we use it server-side for compatibility
|
377
|
+
"""
|
372
378
|
GPU_TYPE_T4: GPUType.ValueType # 1
|
373
379
|
GPU_TYPE_A100: GPUType.ValueType # 2
|
374
380
|
GPU_TYPE_A10G: GPUType.ValueType # 3
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|