modal 1.0.0.dev20__py3-none-any.whl → 1.0.1.dev1__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/sandbox.py +4 -3
- modal/snapshot.py +9 -3
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/METADATA +1 -1
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/RECORD +10 -10
- modal_version/__init__.py +1 -1
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/WHEEL +0 -0
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/entry_points.txt +0 -0
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.0.dev20.dist-info → modal-1.0.1.dev1.dist-info}/top_level.txt +0 -0
modal/client.pyi
CHANGED
@@ -31,7 +31,7 @@ class _Client:
|
|
31
31
|
server_url: str,
|
32
32
|
client_type: int,
|
33
33
|
credentials: typing.Optional[tuple[str, str]],
|
34
|
-
version: str = "1.0.
|
34
|
+
version: str = "1.0.1.dev1",
|
35
35
|
): ...
|
36
36
|
def is_closed(self) -> bool: ...
|
37
37
|
@property
|
@@ -94,7 +94,7 @@ class Client:
|
|
94
94
|
server_url: str,
|
95
95
|
client_type: int,
|
96
96
|
credentials: typing.Optional[tuple[str, str]],
|
97
|
-
version: str = "1.0.
|
97
|
+
version: str = "1.0.1.dev1",
|
98
98
|
): ...
|
99
99
|
def is_closed(self) -> bool: ...
|
100
100
|
@property
|
modal/sandbox.py
CHANGED
@@ -775,9 +775,9 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
775
775
|
@property
|
776
776
|
def returncode(self) -> Optional[int]:
|
777
777
|
"""Return code of the Sandbox process if it has finished running, else `None`."""
|
778
|
-
|
779
|
-
if self._result is None:
|
778
|
+
if self._result is None or self._result.status == api_pb2.GenericResult.GENERIC_STATUS_UNSPECIFIED:
|
780
779
|
return None
|
780
|
+
|
781
781
|
# Statuses are converted to exitcodes so we can conform to subprocess API.
|
782
782
|
# TODO: perhaps there should be a separate property that returns an enum directly?
|
783
783
|
elif self._result.status == api_pb2.GenericResult.GENERIC_STATUS_TIMEOUT:
|
@@ -819,8 +819,9 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
819
819
|
return
|
820
820
|
|
821
821
|
for sandbox_info in resp.sandboxes:
|
822
|
+
sandbox_info: api_pb2.SandboxInfo
|
822
823
|
obj = _Sandbox._new_hydrated(sandbox_info.id, client, None)
|
823
|
-
obj._result = sandbox_info.task_info.result
|
824
|
+
obj._result = sandbox_info.task_info.result # TODO: send SandboxInfo as metadata to _new_hydrated?
|
824
825
|
yield obj
|
825
826
|
|
826
827
|
# Fetch the next batch starting from the end of the current one.
|
modal/snapshot.py
CHANGED
@@ -11,13 +11,19 @@ from .client import _Client
|
|
11
11
|
|
12
12
|
|
13
13
|
class _SandboxSnapshot(_Object, type_prefix="sn"):
|
14
|
-
"""
|
15
|
-
|
16
|
-
|
14
|
+
"""
|
15
|
+
> Sandbox memory snapshots are in **early preview**.
|
16
|
+
|
17
|
+
A `SandboxSnapshot` object lets you interact with a stored Sandbox snapshot that was created by calling
|
18
|
+
`._experimental_snapshot()` on a Sandbox instance. This includes both the filesystem and memory state of
|
19
|
+
the original Sandbox at the time the snapshot was taken.
|
17
20
|
"""
|
18
21
|
|
19
22
|
@staticmethod
|
20
23
|
async def from_id(sandbox_snapshot_id: str, client: Optional[_Client] = None):
|
24
|
+
"""
|
25
|
+
Construct a `SandboxSnapshot` object from a sandbox snapshot ID.
|
26
|
+
"""
|
21
27
|
if client is None:
|
22
28
|
client = await _Client.from_env()
|
23
29
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=NZ_rJ9TuMfiNiLg8-gOFgufD5flGtXWPHOZI0gdD3hE,46585
|
|
22
22
|
modal/app.pyi,sha256=4-b_vbe3lNAqQPcMRpQCEDsE1zsVkQRJGUql9B7HvbM,22659
|
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=06x-ii-1lwr3E854Xa9UIOz6DZzkTY4_i1wySxLQ3wY,8457
|
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=dBbeARwOWftlKd1cwtM0cHFtQWSWkwVXwVmOV4w0SyI,37907
|
@@ -65,7 +65,7 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
65
65
|
modal/runner.py,sha256=nvpnU7U2O5d2WqME1QUTTwu-NkSLLwblytlGk7HXPAw,24152
|
66
66
|
modal/runner.pyi,sha256=1AnEu48SUPnLWp3raQ2zJCV5lc85EGLkX2nL0bHWaB0,5162
|
67
67
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
68
|
-
modal/sandbox.py,sha256=
|
68
|
+
modal/sandbox.py,sha256=h9sF2PjwRbrR8m0FdqD4kCpFB9of2V6X9t-D44g7MP0,35754
|
69
69
|
modal/sandbox.pyi,sha256=stxwoLcyQNToPISj6umlU8sDUgqzeooLdMs3BwIr740,28195
|
70
70
|
modal/schedule.py,sha256=ewa7hb9NKYnoeSCW2PujZAbGGJL8btX6X3KalCFpc_M,2626
|
71
71
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
@@ -73,7 +73,7 @@ modal/secret.py,sha256=I2z-rgKWl_Ix107d2_Y2OWGXdFOuJ7zMOyDfIOdFI1A,10374
|
|
73
73
|
modal/secret.pyi,sha256=NY_dz0UjiYyn4u4LaBZwPP3Ji7SlTLpEyzrYK2sj9HQ,3103
|
74
74
|
modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
|
75
75
|
modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
|
76
|
-
modal/snapshot.py,sha256=
|
76
|
+
modal/snapshot.py,sha256=E3oxYQkYVRB_LeFBfmUV1Y6vHz8-azXJfC4x7A1QKnI,1455
|
77
77
|
modal/snapshot.pyi,sha256=dIEBdTPb7O3VwkQ8TMPjfyU17RLuS9i0DnACxxHy8X4,676
|
78
78
|
modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
|
79
79
|
modal/token_flow.py,sha256=0_4KabXKsuE4OXTJ1OuLOtA-b1sesShztMZkkRFK7tA,7605
|
@@ -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-1.0.
|
149
|
+
modal-1.0.1.dev1.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
|
@@ -169,10 +169,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
169
169
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
170
170
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
171
171
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
|
-
modal_version/__init__.py,sha256=
|
172
|
+
modal_version/__init__.py,sha256=C-UhhEog2fgK0yu_gOs5QoLS8P9X-hjkzXPYJdnDC20,120
|
173
173
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal-1.0.
|
175
|
-
modal-1.0.
|
176
|
-
modal-1.0.
|
177
|
-
modal-1.0.
|
178
|
-
modal-1.0.
|
174
|
+
modal-1.0.1.dev1.dist-info/METADATA,sha256=TOE6nloc-hl5cfx4iUJ7iCiCjB3SrBLyAeNJlLzQGnw,2454
|
175
|
+
modal-1.0.1.dev1.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
176
|
+
modal-1.0.1.dev1.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
177
|
+
modal-1.0.1.dev1.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
178
|
+
modal-1.0.1.dev1.dist-info/RECORD,,
|
modal_version/__init__.py
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|