modal 1.1.5.dev54__py3-none-any.whl → 1.1.5.dev56__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/experimental/__init__.py +25 -0
- modal/runner.py +3 -4
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/METADATA +1 -1
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/RECORD +10 -10
- modal_version/__init__.py +1 -1
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/WHEEL +0 -0
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/entry_points.txt +0 -0
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.5.dev54.dist-info → modal-1.1.5.dev56.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
|
@@ -33,7 +33,7 @@ class _Client:
|
|
|
33
33
|
server_url: str,
|
|
34
34
|
client_type: int,
|
|
35
35
|
credentials: typing.Optional[tuple[str, str]],
|
|
36
|
-
version: str = "1.1.5.
|
|
36
|
+
version: str = "1.1.5.dev56",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -164,7 +164,7 @@ class Client:
|
|
|
164
164
|
server_url: str,
|
|
165
165
|
client_type: int,
|
|
166
166
|
credentials: typing.Optional[tuple[str, str]],
|
|
167
|
-
version: str = "1.1.5.
|
|
167
|
+
version: str = "1.1.5.dev56",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/experimental/__init__.py
CHANGED
|
@@ -384,3 +384,28 @@ async def update_autoscaler(
|
|
|
384
384
|
|
|
385
385
|
request = api_pb2.FunctionUpdateSchedulingParamsRequest(function_id=f.object_id, settings=settings)
|
|
386
386
|
await retry_transient_errors(client.stub.FunctionUpdateSchedulingParams, request)
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
@synchronizer.create_blocking
|
|
390
|
+
async def image_delete(
|
|
391
|
+
image_id: str,
|
|
392
|
+
*,
|
|
393
|
+
client: Optional[_Client] = None,
|
|
394
|
+
) -> None:
|
|
395
|
+
"""Delete an Image by its ID.
|
|
396
|
+
|
|
397
|
+
Deletion is irreversible and will prevent Apps from using the Image.
|
|
398
|
+
|
|
399
|
+
This is an experimental interface for a feature that we will be adding to
|
|
400
|
+
the main Image class. The stable form of this interface may look different.
|
|
401
|
+
|
|
402
|
+
Note: When building an Image, each chained method call will create an
|
|
403
|
+
intermediate Image layer, each with its own ID. Deleting an Image will not
|
|
404
|
+
delete any of its intermediate layers, only the image identified by the
|
|
405
|
+
provided ID.
|
|
406
|
+
"""
|
|
407
|
+
if client is None:
|
|
408
|
+
client = await _Client.from_env()
|
|
409
|
+
|
|
410
|
+
req = api_pb2.ImageDeleteRequest(image_id=image_id)
|
|
411
|
+
await retry_transient_errors(client.stub.ImageDelete, req)
|
modal/runner.py
CHANGED
|
@@ -10,6 +10,7 @@ import os
|
|
|
10
10
|
import time
|
|
11
11
|
import typing
|
|
12
12
|
from collections.abc import AsyncGenerator
|
|
13
|
+
from contextlib import nullcontext
|
|
13
14
|
from multiprocessing.synchronize import Event
|
|
14
15
|
from typing import TYPE_CHECKING, Any, Optional, TypeVar
|
|
15
16
|
|
|
@@ -363,11 +364,9 @@ async def _run_app(
|
|
|
363
364
|
# Yield to context
|
|
364
365
|
if output_mgr := _get_output_manager():
|
|
365
366
|
# Don't show status spinner in interactive mode to avoid interfering with breakpoints
|
|
366
|
-
if interactive
|
|
367
|
+
spinner_ctx = nullcontext() if interactive else output_mgr.show_status_spinner()
|
|
368
|
+
with spinner_ctx:
|
|
367
369
|
yield app
|
|
368
|
-
else:
|
|
369
|
-
with output_mgr.show_status_spinner():
|
|
370
|
-
yield app
|
|
371
370
|
else:
|
|
372
371
|
yield app
|
|
373
372
|
# successful completion!
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=RRUz2NjAWIQLHtU2IEslOlnIOCxPiWts3IP3rTFArkY,49635
|
|
|
22
22
|
modal/app.pyi,sha256=CDp_rlX3hBuFdv9VRsKvNKCgu_hS2IO2uNU5qhzmXps,44719
|
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
|
24
24
|
modal/client.py,sha256=kyAIVB3Ay-XKJizQ_1ufUFB__EagV0MLmHJpyYyJ7J0,18636
|
|
25
|
-
modal/client.pyi,sha256=
|
|
25
|
+
modal/client.pyi,sha256=lesSz0RzTkMQaKtJrx9jxmO5VfuvIQInvjha1lJdkE4,15831
|
|
26
26
|
modal/cloud_bucket_mount.py,sha256=I2GRXYhOWLIz2kJZjXu75jAm9EJkBNcutGc6jR2ReUw,5928
|
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=VuUOipMIHqFXMkD-3g2bsoqpSxV5qswlFHDOqPQzYAo,7405
|
|
28
28
|
modal/cls.py,sha256=R1uLQbdqWRRjvxs0I57a4hZZELZkBVCxOKxvKryU5_s,41639
|
|
@@ -62,7 +62,7 @@ modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
62
62
|
modal/queue.py,sha256=ooD_-z3gthje_kxBZQ_xDfwyTy_cxtyn5oM9wt2sXTo,27133
|
|
63
63
|
modal/queue.pyi,sha256=EJ6extEFKclbEUBXk-PuRJ4bkUYRwWgAAUNofQBbBmo,39509
|
|
64
64
|
modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
65
|
-
modal/runner.py,sha256=
|
|
65
|
+
modal/runner.py,sha256=A_zaRmJ4dNpQJWNlwUI_GJIy2GMuaQBRjMAabX0Fmvg,24599
|
|
66
66
|
modal/runner.pyi,sha256=vUDRKqLz09QvZsaCH1gTG_iujewj-eGxxb6-VmN6eAw,8531
|
|
67
67
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
|
68
68
|
modal/sandbox.py,sha256=qi_zWDOntB6RSAejCrAAKcW3vZZOkdrBnuic4dBo7NI,45953
|
|
@@ -149,11 +149,11 @@ modal/cli/programs/launch_instance_ssh.py,sha256=GrwK_Vy8-7B4x5a6AqFaF7lqNVgu75J
|
|
|
149
149
|
modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
|
|
150
150
|
modal/cli/programs/run_marimo.py,sha256=HyZ2za0NYqg31-mGxFQxUIAJ3Q-jRaMocEwWwI5-cdw,2887
|
|
151
151
|
modal/cli/programs/vscode.py,sha256=KbTAaIXyQBVCDXxXjmBHmKpgXkUw0q4R4KkJvUjCYgk,3380
|
|
152
|
-
modal/experimental/__init__.py,sha256=
|
|
152
|
+
modal/experimental/__init__.py,sha256=QkCGP1lZiOa8sY4ZNqMF8JsnuRaDI7PJpXkGtKMWgDg,15751
|
|
153
153
|
modal/experimental/flash.py,sha256=7qRAL2Nrwbb60YKobcnpM0zJ8vw4xGJqabLPFgEzMZE,28295
|
|
154
154
|
modal/experimental/flash.pyi,sha256=R9VV0UDotiY9BRUjacB-xI4qhR3yBymAvEZFRFHztLs,15143
|
|
155
155
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
|
156
|
-
modal-1.1.5.
|
|
156
|
+
modal-1.1.5.dev56.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
157
157
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
158
158
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
159
159
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -182,10 +182,10 @@ modal_proto/sandbox_router_pb2.py,sha256=INd9izYaIYqllESQt4MSv2Rj9Hf5bMjAvtCc9b4
|
|
|
182
182
|
modal_proto/sandbox_router_pb2.pyi,sha256=YCK0WnCgRos3-p7t4USQQ7x6WAuM278yeQX2IeU5mLg,13295
|
|
183
183
|
modal_proto/sandbox_router_pb2_grpc.py,sha256=zonC5flvCwxeZYJPENj1IJo2Mr0J58DpoC1_8IdPYik,8243
|
|
184
184
|
modal_proto/sandbox_router_pb2_grpc.pyi,sha256=4QgCB9b7_ykvH8YD-hfnogVH9CLyHVDC5QNb03l4_X8,2735
|
|
185
|
-
modal_version/__init__.py,sha256=
|
|
185
|
+
modal_version/__init__.py,sha256=JdMcUML0VaQWWlAZv59c1edSkBfp8bMmvEef3-9Xevg,121
|
|
186
186
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
187
|
-
modal-1.1.5.
|
|
188
|
-
modal-1.1.5.
|
|
189
|
-
modal-1.1.5.
|
|
190
|
-
modal-1.1.5.
|
|
191
|
-
modal-1.1.5.
|
|
187
|
+
modal-1.1.5.dev56.dist-info/METADATA,sha256=JhireYwm7rBoS_iLFPTTtpq3JJihLcIag4WyjN1DiLs,2481
|
|
188
|
+
modal-1.1.5.dev56.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
189
|
+
modal-1.1.5.dev56.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
190
|
+
modal-1.1.5.dev56.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
191
|
+
modal-1.1.5.dev56.dist-info/RECORD,,
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|