modal 0.75.4__py3-none-any.whl → 0.75.6__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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -6
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/METADATA +1 -1
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/RECORD +16 -16
- modal_proto/api.proto +16 -0
- modal_proto/api_grpc.py +16 -0
- modal_proto/api_pb2.py +801 -781
- modal_proto/api_pb2.pyi +61 -2
- modal_proto/api_pb2_grpc.py +33 -0
- modal_proto/api_pb2_grpc.pyi +10 -0
- modal_proto/modal_api_grpc.py +1 -0
- modal_version/_version_generated.py +1 -1
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/WHEEL +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/entry_points.txt +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.dist-info}/licenses/LICENSE +0 -0
- {modal-0.75.4.dist-info → modal-0.75.6.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.75.
|
30
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.75.6"
|
31
31
|
): ...
|
32
32
|
def is_closed(self) -> bool: ...
|
33
33
|
@property
|
@@ -86,7 +86,7 @@ class Client:
|
|
86
86
|
_snapshotted: bool
|
87
87
|
|
88
88
|
def __init__(
|
89
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.75.
|
89
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.75.6"
|
90
90
|
): ...
|
91
91
|
def is_closed(self) -> bool: ...
|
92
92
|
@property
|
modal/functions.pyi
CHANGED
@@ -234,11 +234,11 @@ class Function(
|
|
234
234
|
|
235
235
|
_call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
|
236
236
|
|
237
|
-
class __remote_spec(typing_extensions.Protocol[
|
237
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
238
238
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
239
239
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
240
240
|
|
241
|
-
remote: __remote_spec[modal._functions.
|
241
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
242
242
|
|
243
243
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
244
244
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -253,12 +253,12 @@ class Function(
|
|
253
253
|
self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
|
254
254
|
) -> modal._functions.OriginalReturnType: ...
|
255
255
|
|
256
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
256
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
257
257
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
258
258
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
259
259
|
|
260
260
|
_experimental_spawn: ___experimental_spawn_spec[
|
261
|
-
modal._functions.
|
261
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
262
262
|
]
|
263
263
|
|
264
264
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
@@ -267,11 +267,11 @@ class Function(
|
|
267
267
|
|
268
268
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
269
269
|
|
270
|
-
class __spawn_spec(typing_extensions.Protocol[
|
270
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
271
271
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
272
272
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
273
273
|
|
274
|
-
spawn: __spawn_spec[modal._functions.
|
274
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
275
275
|
|
276
276
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
|
277
277
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=xojuGZv4LaQwZU5ntj7WbmMjeNuB9Gll8Mzqe2LyiEs,51323
|
|
22
22
|
modal/app.pyi,sha256=zNwR1_2LpmQc9AhemuAeVdk90XNYDw9keOkXAwAATeA,28732
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
24
|
modal/client.py,sha256=o-aQThHpvDHUzg_kUafyhWzACViUBhY2WLZ2EitnSHA,16787
|
25
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=BGfzbSX9KGeuuIMiRbpb6l11KYO6Ovv-xttXEuhwdR0,8383
|
26
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
|
28
28
|
modal/cls.py,sha256=aHoMEWMZUN7bOezs3tRPxzS1FP3gTxZBORVjbPmtxyg,35338
|
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
39
39
|
modal/file_io.pyi,sha256=oB7x-rKq7bmm8cA7Z7W9C9yeko7KK9m9i5GidFnkGK4,9569
|
40
40
|
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
41
41
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
42
|
-
modal/functions.pyi,sha256=
|
42
|
+
modal/functions.pyi,sha256=xc6igwNS77kYkyuVpWOlMPkanxriesIaKFTYlvmuXp0,16993
|
43
43
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
44
44
|
modal/image.py,sha256=ZCghS6l1O7pezXcdMHk6RoJpW3qWszfWGJTW38lNXaU,92797
|
45
45
|
modal/image.pyi,sha256=MDq7tNJevElK78VxFYrZRe_00kz9gPdg98MN5c6fFoE,25644
|
@@ -146,7 +146,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
|
|
146
146
|
modal/requirements/PREVIEW.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
|
147
147
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
148
148
|
modal/requirements/base-images.json,sha256=57vMSqzMbLBxw5tFWSaMiIkkVEps4JfX5PAtXGnkS4U,740
|
149
|
-
modal-0.75.
|
149
|
+
modal-0.75.6.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
150
150
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
151
151
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
152
152
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
@@ -154,13 +154,13 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
154
154
|
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
155
155
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
156
156
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
157
|
-
modal_proto/api.proto,sha256=
|
158
|
-
modal_proto/api_grpc.py,sha256=
|
159
|
-
modal_proto/api_pb2.py,sha256=
|
160
|
-
modal_proto/api_pb2.pyi,sha256=
|
161
|
-
modal_proto/api_pb2_grpc.py,sha256
|
162
|
-
modal_proto/api_pb2_grpc.pyi,sha256=
|
163
|
-
modal_proto/modal_api_grpc.py,sha256=
|
157
|
+
modal_proto/api.proto,sha256=013AkW3pBoxI7R-eq7E5Dzr6hToKOSC4o1klgXyxX2M,94792
|
158
|
+
modal_proto/api_grpc.py,sha256=VkDIMiCgU5tbuPb8FC0axjmWsNBVhTw1Fxc6o7IbHAE,115167
|
159
|
+
modal_proto/api_pb2.py,sha256=qPM9Aw5OxHyNtos9oarTq7K514uc9CPibw2zYJcu1Wg,334377
|
160
|
+
modal_proto/api_pb2.pyi,sha256=fiN1G16cj_1kXFr6rzq3L5D_ImxC7RE14hwpRWXBxJg,456430
|
161
|
+
modal_proto/api_pb2_grpc.py,sha256=IUlmIBEthFhyValywNwX-4ggnM2zv4m4aNrfCybmUFM,249081
|
162
|
+
modal_proto/api_pb2_grpc.pyi,sha256=vlbb4nSmopRLzqp0p3eXiAevsGYdL-Fej5kkCPYO4e0,58294
|
163
|
+
modal_proto/modal_api_grpc.py,sha256=dB1ufa9yZXHnfFGx0sVVu00_TmEr3qedItJgnnidfBg,17418
|
164
164
|
modal_proto/modal_options_grpc.py,sha256=qJ1cuwA54oRqrdTyPTbvfhFZYd9HhJKK5UCwt523r3Y,120
|
165
165
|
modal_proto/options.proto,sha256=zp9h5r61ivsp0XwEWwNBsVqNTbRA1VSY_UtN7sEcHtE,549
|
166
166
|
modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
|
@@ -171,9 +171,9 @@ 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=PenIvZdwt-HVdbetAyxuPoyZTtzx2moKZoJLK8iZ804,470
|
173
173
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal_version/_version_generated.py,sha256=
|
175
|
-
modal-0.75.
|
176
|
-
modal-0.75.
|
177
|
-
modal-0.75.
|
178
|
-
modal-0.75.
|
179
|
-
modal-0.75.
|
174
|
+
modal_version/_version_generated.py,sha256=DMwqf59FqmCOFFbdWQlp8FZEv0y7FcCr5_76c9ZclTU,148
|
175
|
+
modal-0.75.6.dist-info/METADATA,sha256=AHvc4PYL4JNhTUW40VKSII79XouCsP7_6Ce2JnQMK1s,2450
|
176
|
+
modal-0.75.6.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
177
|
+
modal-0.75.6.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
178
|
+
modal-0.75.6.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
179
|
+
modal-0.75.6.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -584,6 +584,17 @@ message AttemptAwaitResponse {
|
|
584
584
|
optional FunctionGetOutputsItem output = 1;
|
585
585
|
}
|
586
586
|
|
587
|
+
message AttemptRetryRequest {
|
588
|
+
string function_id = 1;
|
589
|
+
string parent_input_id = 2;
|
590
|
+
FunctionPutInputsItem input = 3;
|
591
|
+
string attempt_token = 4;
|
592
|
+
}
|
593
|
+
|
594
|
+
message AttemptRetryResponse {
|
595
|
+
string attempt_token = 1;
|
596
|
+
}
|
597
|
+
|
587
598
|
message AttemptStartRequest {
|
588
599
|
string function_id = 1;
|
589
600
|
string parent_input_id = 2;
|
@@ -1701,6 +1712,10 @@ message FunctionOptions {
|
|
1701
1712
|
optional uint32 target_concurrent_inputs = 10;
|
1702
1713
|
bool replace_volume_mounts = 11;
|
1703
1714
|
bool replace_secret_ids = 12;
|
1715
|
+
optional uint32 buffer_containers = 13;
|
1716
|
+
optional uint32 max_concurrent_inputs = 14;
|
1717
|
+
optional uint32 batch_max_size = 15;
|
1718
|
+
optional uint64 batch_linger_ms = 16;
|
1704
1719
|
}
|
1705
1720
|
|
1706
1721
|
message FunctionPrecreateRequest {
|
@@ -3128,6 +3143,7 @@ service ModalClient {
|
|
3128
3143
|
// These RPCs are experimental, not deployed to production, and can be changed / removed
|
3129
3144
|
// without needing to worry about backwards compatibility.
|
3130
3145
|
rpc AttemptAwait(AttemptAwaitRequest) returns (AttemptAwaitResponse);
|
3146
|
+
rpc AttemptRetry(AttemptRetryRequest) returns (AttemptRetryResponse);
|
3131
3147
|
rpc AttemptStart(AttemptStartRequest) returns (AttemptStartResponse);
|
3132
3148
|
|
3133
3149
|
// Blobs
|
modal_proto/api_grpc.py
CHANGED
@@ -86,6 +86,10 @@ class ModalClientBase(abc.ABC):
|
|
86
86
|
async def AttemptAwait(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AttemptAwaitRequest, modal_proto.api_pb2.AttemptAwaitResponse]') -> None:
|
87
87
|
pass
|
88
88
|
|
89
|
+
@abc.abstractmethod
|
90
|
+
async def AttemptRetry(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AttemptRetryRequest, modal_proto.api_pb2.AttemptRetryResponse]') -> None:
|
91
|
+
pass
|
92
|
+
|
89
93
|
@abc.abstractmethod
|
90
94
|
async def AttemptStart(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.AttemptStartRequest, modal_proto.api_pb2.AttemptStartResponse]') -> None:
|
91
95
|
pass
|
@@ -718,6 +722,12 @@ class ModalClientBase(abc.ABC):
|
|
718
722
|
modal_proto.api_pb2.AttemptAwaitRequest,
|
719
723
|
modal_proto.api_pb2.AttemptAwaitResponse,
|
720
724
|
),
|
725
|
+
'/modal.client.ModalClient/AttemptRetry': grpclib.const.Handler(
|
726
|
+
self.AttemptRetry,
|
727
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
728
|
+
modal_proto.api_pb2.AttemptRetryRequest,
|
729
|
+
modal_proto.api_pb2.AttemptRetryResponse,
|
730
|
+
),
|
721
731
|
'/modal.client.ModalClient/AttemptStart': grpclib.const.Handler(
|
722
732
|
self.AttemptStart,
|
723
733
|
grpclib.const.Cardinality.UNARY_UNARY,
|
@@ -1618,6 +1628,12 @@ class ModalClientStub:
|
|
1618
1628
|
modal_proto.api_pb2.AttemptAwaitRequest,
|
1619
1629
|
modal_proto.api_pb2.AttemptAwaitResponse,
|
1620
1630
|
)
|
1631
|
+
self.AttemptRetry = grpclib.client.UnaryUnaryMethod(
|
1632
|
+
channel,
|
1633
|
+
'/modal.client.ModalClient/AttemptRetry',
|
1634
|
+
modal_proto.api_pb2.AttemptRetryRequest,
|
1635
|
+
modal_proto.api_pb2.AttemptRetryResponse,
|
1636
|
+
)
|
1621
1637
|
self.AttemptStart = grpclib.client.UnaryUnaryMethod(
|
1622
1638
|
channel,
|
1623
1639
|
'/modal.client.ModalClient/AttemptStart',
|