modal 0.73.79__py3-none-any.whl → 0.73.81__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/_partial_function.py +1 -26
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -6
- modal/partial_function.pyi +0 -3
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/METADATA +1 -1
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/RECORD +14 -14
- modal_proto/api.proto +2 -2
- modal_proto/api_pb2.py +718 -718
- modal_proto/api_pb2.pyi +4 -5
- modal_version/_version_generated.py +1 -1
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/LICENSE +0 -0
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/WHEEL +0 -0
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/entry_points.txt +0 -0
- {modal-0.73.79.dist-info → modal-0.73.81.dist-info}/top_level.txt +0 -0
modal/_partial_function.py
CHANGED
@@ -16,7 +16,7 @@ from modal_proto import api_pb2
|
|
16
16
|
|
17
17
|
from ._functions import _Function
|
18
18
|
from ._utils.async_utils import synchronizer
|
19
|
-
from ._utils.deprecation import
|
19
|
+
from ._utils.deprecation import deprecation_warning
|
20
20
|
from ._utils.function_utils import callable_has_non_self_non_default_params, callable_has_non_self_params
|
21
21
|
from .config import logger
|
22
22
|
from .exception import InvalidError
|
@@ -266,7 +266,6 @@ def _web_endpoint(
|
|
266
266
|
Iterable[str]
|
267
267
|
] = None, # Create an endpoint using a custom domain fully-qualified domain name (FQDN).
|
268
268
|
requires_proxy_auth: bool = False, # Require Modal-Key and Modal-Secret HTTP Headers on requests.
|
269
|
-
wait_for_response: bool = True, # DEPRECATED: this must always be True now
|
270
269
|
) -> Callable[[Callable[P, ReturnType]], _PartialFunction[P, ReturnType, ReturnType]]:
|
271
270
|
"""Register a basic web endpoint with this application.
|
272
271
|
|
@@ -297,14 +296,6 @@ def _web_endpoint(
|
|
297
296
|
f"Applying decorators for {raw_f} in the wrong order!\nUsage:\n\n"
|
298
297
|
"@app.function()\n@app.web_endpoint()\ndef my_webhook():\n ..."
|
299
298
|
)
|
300
|
-
if not wait_for_response:
|
301
|
-
deprecation_error(
|
302
|
-
(2024, 5, 13),
|
303
|
-
"wait_for_response=False has been deprecated on web endpoints. See "
|
304
|
-
"https://modal.com/docs/guide/webhook-timeouts#polling-solutions for alternatives.",
|
305
|
-
)
|
306
|
-
|
307
|
-
# self._loose_webhook_configs.add(raw_f)
|
308
299
|
|
309
300
|
return _PartialFunction(
|
310
301
|
raw_f,
|
@@ -329,7 +320,6 @@ def _asgi_app(
|
|
329
320
|
label: Optional[str] = None, # Label for created endpoint. Final subdomain will be <workspace>--<label>.modal.run.
|
330
321
|
custom_domains: Optional[Iterable[str]] = None, # Deploy this endpoint on a custom domain.
|
331
322
|
requires_proxy_auth: bool = False, # Require Modal-Key and Modal-Secret HTTP Headers on requests.
|
332
|
-
wait_for_response: bool = True, # DEPRECATED: this must always be True now
|
333
323
|
) -> Callable[[Callable[..., Any]], _PartialFunction]:
|
334
324
|
"""Decorator for registering an ASGI app with a Modal function.
|
335
325
|
|
@@ -377,13 +367,6 @@ def _asgi_app(
|
|
377
367
|
f"ASGI app function {raw_f.__name__} is an async function. Only sync Python functions are supported."
|
378
368
|
)
|
379
369
|
|
380
|
-
if not wait_for_response:
|
381
|
-
deprecation_error(
|
382
|
-
(2024, 5, 13),
|
383
|
-
"wait_for_response=False has been deprecated on web endpoints. See "
|
384
|
-
"https://modal.com/docs/guide/webhook-timeouts#polling-solutions for alternatives",
|
385
|
-
)
|
386
|
-
|
387
370
|
return _PartialFunction(
|
388
371
|
raw_f,
|
389
372
|
_PartialFunctionFlags.FUNCTION,
|
@@ -405,7 +388,6 @@ def _wsgi_app(
|
|
405
388
|
label: Optional[str] = None, # Label for created endpoint. Final subdomain will be <workspace>--<label>.modal.run.
|
406
389
|
custom_domains: Optional[Iterable[str]] = None, # Deploy this endpoint on a custom domain.
|
407
390
|
requires_proxy_auth: bool = False, # Require Modal-Key and Modal-Secret HTTP Headers on requests.
|
408
|
-
wait_for_response: bool = True, # DEPRECATED: this must always be True now
|
409
391
|
) -> Callable[[Callable[..., Any]], _PartialFunction]:
|
410
392
|
"""Decorator for registering a WSGI app with a Modal function.
|
411
393
|
|
@@ -453,13 +435,6 @@ def _wsgi_app(
|
|
453
435
|
f"WSGI app function {raw_f.__name__} is an async function. Only sync Python functions are supported."
|
454
436
|
)
|
455
437
|
|
456
|
-
if not wait_for_response:
|
457
|
-
deprecation_error(
|
458
|
-
(2024, 5, 13),
|
459
|
-
"wait_for_response=False has been deprecated on web endpoints. See "
|
460
|
-
"https://modal.com/docs/guide/webhook-timeouts#polling-solutions for alternatives",
|
461
|
-
)
|
462
|
-
|
463
438
|
return _PartialFunction(
|
464
439
|
raw_f,
|
465
440
|
_PartialFunctionFlags.FUNCTION,
|
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.81"
|
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.81"
|
89
89
|
): ...
|
90
90
|
def is_closed(self) -> bool: ...
|
91
91
|
@property
|
modal/functions.pyi
CHANGED
@@ -198,11 +198,11 @@ class Function(
|
|
198
198
|
|
199
199
|
_call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
|
200
200
|
|
201
|
-
class __remote_spec(typing_extensions.Protocol[
|
201
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
202
202
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
203
203
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
204
204
|
|
205
|
-
remote: __remote_spec[modal._functions.
|
205
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
206
206
|
|
207
207
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
208
208
|
def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -217,19 +217,19 @@ class Function(
|
|
217
217
|
self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
|
218
218
|
) -> modal._functions.OriginalReturnType: ...
|
219
219
|
|
220
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
220
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
221
221
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
222
222
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
223
223
|
|
224
224
|
_experimental_spawn: ___experimental_spawn_spec[
|
225
|
-
modal._functions.
|
225
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
226
226
|
]
|
227
227
|
|
228
|
-
class __spawn_spec(typing_extensions.Protocol[
|
228
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
229
229
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
230
230
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
231
231
|
|
232
|
-
spawn: __spawn_spec[modal._functions.
|
232
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
233
233
|
|
234
234
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
|
235
235
|
|
modal/partial_function.pyi
CHANGED
@@ -57,7 +57,6 @@ def web_endpoint(
|
|
57
57
|
docs: bool = False,
|
58
58
|
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
59
59
|
requires_proxy_auth: bool = False,
|
60
|
-
wait_for_response: bool = True,
|
61
60
|
) -> collections.abc.Callable[
|
62
61
|
[collections.abc.Callable[modal._partial_function.P, modal._partial_function.ReturnType]],
|
63
62
|
PartialFunction[modal._partial_function.P, modal._partial_function.ReturnType, modal._partial_function.ReturnType],
|
@@ -68,7 +67,6 @@ def asgi_app(
|
|
68
67
|
label: typing.Optional[str] = None,
|
69
68
|
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
70
69
|
requires_proxy_auth: bool = False,
|
71
|
-
wait_for_response: bool = True,
|
72
70
|
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], PartialFunction]: ...
|
73
71
|
def wsgi_app(
|
74
72
|
_warn_parentheses_missing=None,
|
@@ -76,7 +74,6 @@ def wsgi_app(
|
|
76
74
|
label: typing.Optional[str] = None,
|
77
75
|
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
78
76
|
requires_proxy_auth: bool = False,
|
79
|
-
wait_for_response: bool = True,
|
80
77
|
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], PartialFunction]: ...
|
81
78
|
def web_server(
|
82
79
|
port: int,
|
@@ -8,7 +8,7 @@ modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
|
8
8
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
9
9
|
modal/_object.py,sha256=ItQcsMNkz9Y3kdTsvfNarbW-paJ2qabDyQ7njaqY0XI,11359
|
10
10
|
modal/_output.py,sha256=Z0nngPh2mKHMQc4MQ92YjVPc3ewOLa3I4dFBlL9nvQY,25656
|
11
|
-
modal/_partial_function.py,sha256=
|
11
|
+
modal/_partial_function.py,sha256=5MKkd66aKB6NlFjnLCNidY4E6L2SDjmChp0ByYYV6sU,27881
|
12
12
|
modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
|
13
13
|
modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
|
14
14
|
modal/_resolver.py,sha256=RtoXoYzSllPlFu0D1vel_FWiEmDO7RyToiC2bxeN8ZY,6917
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=kF3frIt4eRKVYYCjusMMhKJpO_lDdm2z37HOXPwpjT8,45506
|
|
22
22
|
modal/app.pyi,sha256=tZFbcsu20SuvfB2puxCyuXLFNJ9bQulzag55rVpgZmc,26827
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
24
|
modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
|
25
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=nTyGF9yDiFVLdzSX_DFF5LGAH-PqxoY_6ZRX6hN4ODw,7593
|
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=5DjpSBP1IyROKZm5ItDiEGdbRnfTT6K1Ul0jEvEKw_Q,31695
|
@@ -41,7 +41,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
41
41
|
modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
42
42
|
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
43
43
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
44
|
-
modal/functions.pyi,sha256=
|
44
|
+
modal/functions.pyi,sha256=D-PDJfSbwqMDXdq7Bxu2ErZRENo-tRgu_zPoB-jl0OU,14377
|
45
45
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
46
46
|
modal/image.py,sha256=adMUpS7WrCu-M78BWslz2r6GPviy4qPvd5Dh-dBIrrk,90257
|
47
47
|
modal/image.pyi,sha256=L7aZUOElSGtNHmFHz1RgKP1cG5paiXt_EzylrwBwzVk,25004
|
@@ -57,7 +57,7 @@ modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
|
|
57
57
|
modal/parallel_map.py,sha256=POBTyiWabe2e4qBNlsjjksiu1AAPEsNqI-mM8cgNFco,16042
|
58
58
|
modal/parallel_map.pyi,sha256=-YKY_bVuQv8B4gtFrHnXtuNV0_JpmU9vqMJzR7beeCU,2524
|
59
59
|
modal/partial_function.py,sha256=KkATL56zEe_Kzp4hDX0c0e6BrXeO8V8mZBjfIs_ldqI,1016
|
60
|
-
modal/partial_function.pyi,sha256=
|
60
|
+
modal/partial_function.pyi,sha256=RO76Hg9DAYHd1gW3ntPMucbUpvu19ZLZTRjtBSIwIV0,4541
|
61
61
|
modal/proxy.py,sha256=NrOevrWxG3G7-zlyRzG6BcIvop7AWLeyahZxitbBaOk,1418
|
62
62
|
modal/proxy.pyi,sha256=1OEKIVUyC-xb7fHMzngakQso0nTsK60TVhXtlcMj6Wk,390
|
63
63
|
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -151,10 +151,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
151
151
|
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
152
152
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
153
153
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
154
|
-
modal_proto/api.proto,sha256=
|
154
|
+
modal_proto/api.proto,sha256=KjRCRPhnk2013x2oU43dX5GMldHQWzdpuYTMtUiMTHo,86953
|
155
155
|
modal_proto/api_grpc.py,sha256=FYGqDegM_w_qxdtlxum8k31mDibKoMvmNxv_p9cKdKs,109056
|
156
|
-
modal_proto/api_pb2.py,sha256=
|
157
|
-
modal_proto/api_pb2.pyi,sha256=
|
156
|
+
modal_proto/api_pb2.py,sha256=CPJakEM1DEQAo4yTx7JPbyb1ePa_L4Ajl1UkCSdMItY,312526
|
157
|
+
modal_proto/api_pb2.pyi,sha256=ETTlVP47b2G3FcRoyvBcNjY25cqJMsKuMWZhcPmyZ2M,421296
|
158
158
|
modal_proto/api_pb2_grpc.py,sha256=DNp0Et5i_Ey4dKx_1o1LRtYhyWYyT0NzTcAY4EcHn-c,235765
|
159
159
|
modal_proto/api_pb2_grpc.pyi,sha256=RI6tWC3L8EIN4-izFSEGPPJl5Ta0lXPNuHUJaWAr35s,54892
|
160
160
|
modal_proto/modal_api_grpc.py,sha256=UG8WJU81afrWPwItWB4Ag64E9EpyREMpBbAVGVEYJiM,14550
|
@@ -168,10 +168,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
168
168
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
169
169
|
modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
|
170
170
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
171
|
-
modal_version/_version_generated.py,sha256=
|
172
|
-
modal-0.73.
|
173
|
-
modal-0.73.
|
174
|
-
modal-0.73.
|
175
|
-
modal-0.73.
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
171
|
+
modal_version/_version_generated.py,sha256=6ZSRrr6DXex_JOkeoVsVZjwFK4LTYXrAZvlvZT0uolE,149
|
172
|
+
modal-0.73.81.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
173
|
+
modal-0.73.81.dist-info/METADATA,sha256=yxfDvZoNZuehaLqU2nFgYWGTZRQdTVSIpzUr8rehM0I,2452
|
174
|
+
modal-0.73.81.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
175
|
+
modal-0.73.81.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
176
|
+
modal-0.73.81.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
177
|
+
modal-0.73.81.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -628,8 +628,8 @@ message CheckpointInfo {
|
|
628
628
|
int64 size = 5;
|
629
629
|
bool checksum_is_file_index = 6;
|
630
630
|
string original_task_id = 7;
|
631
|
-
|
632
|
-
|
631
|
+
reserved 8;
|
632
|
+
string runsc_runtime_version = 9;
|
633
633
|
}
|
634
634
|
|
635
635
|
message ClassCreateRequest {
|