modal 1.1.2.dev14__py3-none-any.whl → 1.1.2.dev16__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/cli/dict.py +8 -4
- modal/cli/queues.py +9 -4
- modal/cli/secret.py +7 -10
- modal/cli/volume.py +7 -6
- modal/client.pyi +2 -2
- modal/dict.py +47 -4
- modal/dict.pyi +118 -3
- modal/functions.pyi +6 -6
- modal/queue.py +49 -4
- modal/queue.pyi +118 -3
- modal/secret.py +33 -0
- modal/secret.pyi +83 -0
- modal/volume.py +49 -4
- modal/volume.pyi +118 -3
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/METADATA +1 -1
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/RECORD +24 -24
- modal_proto/api.proto +8 -4
- modal_proto/api_pb2.py +596 -596
- modal_proto/api_pb2.pyi +12 -7
- modal_version/__init__.py +1 -1
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/WHEEL +0 -0
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/entry_points.txt +0 -0
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.2.dev14.dist-info → modal-1.1.2.dev16.dist-info}/top_level.txt +0 -0
modal/secret.py
CHANGED
@@ -94,6 +94,39 @@ class _SecretManager:
|
|
94
94
|
secrets = [_Secret._new_hydrated(item.secret_id, client, item.metadata, is_another_app=True) for item in items]
|
95
95
|
return secrets[:max_objects] if max_objects is not None else secrets
|
96
96
|
|
97
|
+
@staticmethod
|
98
|
+
async def delete(
|
99
|
+
name: str, # Name of the Secret to delete
|
100
|
+
*,
|
101
|
+
allow_missing: bool = False, # If True, don't raise an error if the Secret doesn't exist
|
102
|
+
environment_name: Optional[str] = None, # Uses active environment if not specified
|
103
|
+
client: Optional[_Client] = None, # Optional client with Modal credentials
|
104
|
+
):
|
105
|
+
"""Delete a named Secret.
|
106
|
+
|
107
|
+
Warning: Deletion is irreversible and will affect any Apps currently using the Secret.
|
108
|
+
|
109
|
+
**Examples:**
|
110
|
+
|
111
|
+
```python notest
|
112
|
+
await modal.Secret.objects.delete("my-secret")
|
113
|
+
```
|
114
|
+
|
115
|
+
Secrets will be deleted from the active environment, or another one can be specified:
|
116
|
+
|
117
|
+
```python notest
|
118
|
+
await modal.Secret.objects.delete("my-secret", environment_name="dev")
|
119
|
+
```
|
120
|
+
"""
|
121
|
+
try:
|
122
|
+
obj = await _Secret.from_name(name, environment_name=environment_name).hydrate(client)
|
123
|
+
except NotFoundError:
|
124
|
+
if not allow_missing:
|
125
|
+
raise
|
126
|
+
else:
|
127
|
+
req = api_pb2.SecretDeleteRequest(secret_id=obj.object_id)
|
128
|
+
await retry_transient_errors(obj._client.stub.SecretDelete, req)
|
129
|
+
|
97
130
|
|
98
131
|
SecretManager = synchronize_api(_SecretManager)
|
99
132
|
|
modal/secret.pyi
CHANGED
@@ -63,6 +63,32 @@ class _SecretManager:
|
|
63
63
|
"""
|
64
64
|
...
|
65
65
|
|
66
|
+
@staticmethod
|
67
|
+
async def delete(
|
68
|
+
name: str,
|
69
|
+
*,
|
70
|
+
allow_missing: bool = False,
|
71
|
+
environment_name: typing.Optional[str] = None,
|
72
|
+
client: typing.Optional[modal.client._Client] = None,
|
73
|
+
):
|
74
|
+
"""Delete a named Secret.
|
75
|
+
|
76
|
+
Warning: Deletion is irreversible and will affect any Apps currently using the Secret.
|
77
|
+
|
78
|
+
**Examples:**
|
79
|
+
|
80
|
+
```python notest
|
81
|
+
await modal.Secret.objects.delete("my-secret")
|
82
|
+
```
|
83
|
+
|
84
|
+
Secrets will be deleted from the active environment, or another one can be specified:
|
85
|
+
|
86
|
+
```python notest
|
87
|
+
await modal.Secret.objects.delete("my-secret", environment_name="dev")
|
88
|
+
```
|
89
|
+
"""
|
90
|
+
...
|
91
|
+
|
66
92
|
class SecretManager:
|
67
93
|
"""Namespace with methods for managing named Secret objects."""
|
68
94
|
def __init__(self, /, *args, **kwargs):
|
@@ -138,6 +164,63 @@ class SecretManager:
|
|
138
164
|
|
139
165
|
list: __list_spec
|
140
166
|
|
167
|
+
class __delete_spec(typing_extensions.Protocol):
|
168
|
+
def __call__(
|
169
|
+
self,
|
170
|
+
/,
|
171
|
+
name: str,
|
172
|
+
*,
|
173
|
+
allow_missing: bool = False,
|
174
|
+
environment_name: typing.Optional[str] = None,
|
175
|
+
client: typing.Optional[modal.client.Client] = None,
|
176
|
+
):
|
177
|
+
"""Delete a named Secret.
|
178
|
+
|
179
|
+
Warning: Deletion is irreversible and will affect any Apps currently using the Secret.
|
180
|
+
|
181
|
+
**Examples:**
|
182
|
+
|
183
|
+
```python notest
|
184
|
+
await modal.Secret.objects.delete("my-secret")
|
185
|
+
```
|
186
|
+
|
187
|
+
Secrets will be deleted from the active environment, or another one can be specified:
|
188
|
+
|
189
|
+
```python notest
|
190
|
+
await modal.Secret.objects.delete("my-secret", environment_name="dev")
|
191
|
+
```
|
192
|
+
"""
|
193
|
+
...
|
194
|
+
|
195
|
+
async def aio(
|
196
|
+
self,
|
197
|
+
/,
|
198
|
+
name: str,
|
199
|
+
*,
|
200
|
+
allow_missing: bool = False,
|
201
|
+
environment_name: typing.Optional[str] = None,
|
202
|
+
client: typing.Optional[modal.client.Client] = None,
|
203
|
+
):
|
204
|
+
"""Delete a named Secret.
|
205
|
+
|
206
|
+
Warning: Deletion is irreversible and will affect any Apps currently using the Secret.
|
207
|
+
|
208
|
+
**Examples:**
|
209
|
+
|
210
|
+
```python notest
|
211
|
+
await modal.Secret.objects.delete("my-secret")
|
212
|
+
```
|
213
|
+
|
214
|
+
Secrets will be deleted from the active environment, or another one can be specified:
|
215
|
+
|
216
|
+
```python notest
|
217
|
+
await modal.Secret.objects.delete("my-secret", environment_name="dev")
|
218
|
+
```
|
219
|
+
"""
|
220
|
+
...
|
221
|
+
|
222
|
+
delete: __delete_spec
|
223
|
+
|
141
224
|
class _Secret(modal._object._Object):
|
142
225
|
"""Secrets provide a dictionary of environment variables for images.
|
143
226
|
|
modal/volume.py
CHANGED
@@ -30,7 +30,7 @@ from synchronicity.async_wrap import asynccontextmanager
|
|
30
30
|
|
31
31
|
import modal.exception
|
32
32
|
import modal_proto.api_pb2
|
33
|
-
from modal.exception import InvalidError, VolumeUploadTimeoutError
|
33
|
+
from modal.exception import InvalidError, NotFoundError, VolumeUploadTimeoutError
|
34
34
|
from modal_proto import api_pb2
|
35
35
|
|
36
36
|
from ._object import (
|
@@ -171,6 +171,40 @@ class _VolumeManager:
|
|
171
171
|
volumes = [_Volume._new_hydrated(item.volume_id, client, item.metadata, is_another_app=True) for item in items]
|
172
172
|
return volumes[:max_objects] if max_objects is not None else volumes
|
173
173
|
|
174
|
+
@staticmethod
|
175
|
+
async def delete(
|
176
|
+
name: str, # Name of the Volume to delete
|
177
|
+
*,
|
178
|
+
allow_missing: bool = False, # If True, don't raise an error if the Volume doesn't exist
|
179
|
+
environment_name: Optional[str] = None, # Uses active environment if not specified
|
180
|
+
client: Optional[_Client] = None, # Optional client with Modal credentials
|
181
|
+
):
|
182
|
+
"""Delete a named Volume.
|
183
|
+
|
184
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
185
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
186
|
+
|
187
|
+
**Examples:**
|
188
|
+
|
189
|
+
```python notest
|
190
|
+
await modal.Volume.objects.delete("my-volume")
|
191
|
+
```
|
192
|
+
|
193
|
+
Volumes will be deleted from the active environment, or another one can be specified:
|
194
|
+
|
195
|
+
```python notest
|
196
|
+
await modal.Volume.objects.delete("my-volume", environment_name="dev")
|
197
|
+
```
|
198
|
+
"""
|
199
|
+
try:
|
200
|
+
obj = await _Volume.from_name(name, environment_name=environment_name).hydrate(client)
|
201
|
+
except NotFoundError:
|
202
|
+
if not allow_missing:
|
203
|
+
raise
|
204
|
+
else:
|
205
|
+
req = api_pb2.VolumeDeleteRequest(volume_id=obj.object_id)
|
206
|
+
await retry_transient_errors(obj._client.stub.VolumeDelete, req)
|
207
|
+
|
174
208
|
|
175
209
|
VolumeManager = synchronize_api(_VolumeManager)
|
176
210
|
|
@@ -719,9 +753,20 @@ class _Volume(_Object, type_prefix="vo"):
|
|
719
753
|
|
720
754
|
@staticmethod
|
721
755
|
async def delete(name: str, client: Optional[_Client] = None, environment_name: Optional[str] = None):
|
722
|
-
|
723
|
-
|
724
|
-
|
756
|
+
"""mdmd:hidden
|
757
|
+
Delete a named Volume.
|
758
|
+
|
759
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
760
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
761
|
+
|
762
|
+
DEPRECATED: This method is deprecated; we recommend using `modal.Volume.objects.delete` instead.
|
763
|
+
|
764
|
+
"""
|
765
|
+
deprecation_warning(
|
766
|
+
(2025, 8, 6),
|
767
|
+
"`modal.Volume.delete` is deprecated; we recommend using `modal.Volume.objects.delete` instead.",
|
768
|
+
)
|
769
|
+
await _Volume.objects.delete(name, environment_name=environment_name, client=client)
|
725
770
|
|
726
771
|
@staticmethod
|
727
772
|
async def rename(
|
modal/volume.pyi
CHANGED
@@ -114,6 +114,33 @@ class _VolumeManager:
|
|
114
114
|
"""
|
115
115
|
...
|
116
116
|
|
117
|
+
@staticmethod
|
118
|
+
async def delete(
|
119
|
+
name: str,
|
120
|
+
*,
|
121
|
+
allow_missing: bool = False,
|
122
|
+
environment_name: typing.Optional[str] = None,
|
123
|
+
client: typing.Optional[modal.client._Client] = None,
|
124
|
+
):
|
125
|
+
"""Delete a named Volume.
|
126
|
+
|
127
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
128
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
129
|
+
|
130
|
+
**Examples:**
|
131
|
+
|
132
|
+
```python notest
|
133
|
+
await modal.Volume.objects.delete("my-volume")
|
134
|
+
```
|
135
|
+
|
136
|
+
Volumes will be deleted from the active environment, or another one can be specified:
|
137
|
+
|
138
|
+
```python notest
|
139
|
+
await modal.Volume.objects.delete("my-volume", environment_name="dev")
|
140
|
+
```
|
141
|
+
"""
|
142
|
+
...
|
143
|
+
|
117
144
|
class VolumeManager:
|
118
145
|
"""Namespace with methods for managing named Volume objects."""
|
119
146
|
def __init__(self, /, *args, **kwargs):
|
@@ -189,6 +216,65 @@ class VolumeManager:
|
|
189
216
|
|
190
217
|
list: __list_spec
|
191
218
|
|
219
|
+
class __delete_spec(typing_extensions.Protocol):
|
220
|
+
def __call__(
|
221
|
+
self,
|
222
|
+
/,
|
223
|
+
name: str,
|
224
|
+
*,
|
225
|
+
allow_missing: bool = False,
|
226
|
+
environment_name: typing.Optional[str] = None,
|
227
|
+
client: typing.Optional[modal.client.Client] = None,
|
228
|
+
):
|
229
|
+
"""Delete a named Volume.
|
230
|
+
|
231
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
232
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
233
|
+
|
234
|
+
**Examples:**
|
235
|
+
|
236
|
+
```python notest
|
237
|
+
await modal.Volume.objects.delete("my-volume")
|
238
|
+
```
|
239
|
+
|
240
|
+
Volumes will be deleted from the active environment, or another one can be specified:
|
241
|
+
|
242
|
+
```python notest
|
243
|
+
await modal.Volume.objects.delete("my-volume", environment_name="dev")
|
244
|
+
```
|
245
|
+
"""
|
246
|
+
...
|
247
|
+
|
248
|
+
async def aio(
|
249
|
+
self,
|
250
|
+
/,
|
251
|
+
name: str,
|
252
|
+
*,
|
253
|
+
allow_missing: bool = False,
|
254
|
+
environment_name: typing.Optional[str] = None,
|
255
|
+
client: typing.Optional[modal.client.Client] = None,
|
256
|
+
):
|
257
|
+
"""Delete a named Volume.
|
258
|
+
|
259
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
260
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
261
|
+
|
262
|
+
**Examples:**
|
263
|
+
|
264
|
+
```python notest
|
265
|
+
await modal.Volume.objects.delete("my-volume")
|
266
|
+
```
|
267
|
+
|
268
|
+
Volumes will be deleted from the active environment, or another one can be specified:
|
269
|
+
|
270
|
+
```python notest
|
271
|
+
await modal.Volume.objects.delete("my-volume", environment_name="dev")
|
272
|
+
```
|
273
|
+
"""
|
274
|
+
...
|
275
|
+
|
276
|
+
delete: __delete_spec
|
277
|
+
|
192
278
|
class _Volume(modal._object._Object):
|
193
279
|
"""A writeable volume that can be used to share files between one or more Modal functions.
|
194
280
|
|
@@ -479,7 +565,17 @@ class _Volume(modal._object._Object):
|
|
479
565
|
@staticmethod
|
480
566
|
async def delete(
|
481
567
|
name: str, client: typing.Optional[modal.client._Client] = None, environment_name: typing.Optional[str] = None
|
482
|
-
):
|
568
|
+
):
|
569
|
+
"""mdmd:hidden
|
570
|
+
Delete a named Volume.
|
571
|
+
|
572
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
573
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
574
|
+
|
575
|
+
DEPRECATED: This method is deprecated; we recommend using `modal.Volume.objects.delete` instead.
|
576
|
+
"""
|
577
|
+
...
|
578
|
+
|
483
579
|
@staticmethod
|
484
580
|
async def rename(
|
485
581
|
old_name: str,
|
@@ -1000,14 +1096,33 @@ class Volume(modal.object.Object):
|
|
1000
1096
|
name: str,
|
1001
1097
|
client: typing.Optional[modal.client.Client] = None,
|
1002
1098
|
environment_name: typing.Optional[str] = None,
|
1003
|
-
):
|
1099
|
+
):
|
1100
|
+
"""mdmd:hidden
|
1101
|
+
Delete a named Volume.
|
1102
|
+
|
1103
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
1104
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
1105
|
+
|
1106
|
+
DEPRECATED: This method is deprecated; we recommend using `modal.Volume.objects.delete` instead.
|
1107
|
+
"""
|
1108
|
+
...
|
1109
|
+
|
1004
1110
|
async def aio(
|
1005
1111
|
self,
|
1006
1112
|
/,
|
1007
1113
|
name: str,
|
1008
1114
|
client: typing.Optional[modal.client.Client] = None,
|
1009
1115
|
environment_name: typing.Optional[str] = None,
|
1010
|
-
):
|
1116
|
+
):
|
1117
|
+
"""mdmd:hidden
|
1118
|
+
Delete a named Volume.
|
1119
|
+
|
1120
|
+
Warning: This deletes an *entire Volume*, not just a specific file.
|
1121
|
+
Deletion is irreversible and will affect any Apps currently using the Volume.
|
1122
|
+
|
1123
|
+
DEPRECATED: This method is deprecated; we recommend using `modal.Volume.objects.delete` instead.
|
1124
|
+
"""
|
1125
|
+
...
|
1011
1126
|
|
1012
1127
|
delete: __delete_spec
|
1013
1128
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=kpq4kXp7pch688y6g55QYAC10wqPTU5FXKoWPMirA3E,47899
|
|
22
22
|
modal/app.pyi,sha256=-jKXlGDBWRPVsuenBhdMRqawK-L2eiJ7gHbmSblhltg,43525
|
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=IwXcU0POnalVA3djJSCg_k5csRk3QaWhLOAF5OjT6xo,15831
|
26
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
|
28
28
|
modal/cls.py,sha256=7A0xGnugQzm8dOfnKMjLjtqekRlRtQ0jPFRYgq6xdUM,40018
|
@@ -30,8 +30,8 @@ modal/cls.pyi,sha256=_tZ5qrlL-ZDEcD-mf9BZkkNH5XPr4SmGTEQ-RVmqF3I,27772
|
|
30
30
|
modal/config.py,sha256=tW-SEGjVvAt3D_MNi3LhxXnFKIA9fjLd3UIgbW8uSJE,12121
|
31
31
|
modal/container_process.py,sha256=XkPwNIW-iD_GB9u9yqv9q8y-i5cQ8eBbLZZ_GvEw9t8,6858
|
32
32
|
modal/container_process.pyi,sha256=9m-st3hCUlNN1GOTctfPPvIvoLtEl7FbuGWwif5-7YU,6037
|
33
|
-
modal/dict.py,sha256=
|
34
|
-
modal/dict.pyi,sha256=
|
33
|
+
modal/dict.py,sha256=Xhc26Zl4LFjEsz32u36qbfvc70mlZ_VDAd_QsKOrNCY,20173
|
34
|
+
modal/dict.pyi,sha256=zHj9XK1uv8PR8Vvd9-RmMMd52002SxoNjNsrK2Bn1OE,29914
|
35
35
|
modal/environments.py,sha256=gHFNLG78bqgizpQ4w_elz27QOqmcgAonFsmLs7NjUJ4,6804
|
36
36
|
modal/environments.pyi,sha256=9-KtrzAcUe55cCP4020lSUD7-fWS7OPakAHssq4-bro,4219
|
37
37
|
modal/exception.py,sha256=o0V93PK8Hcg2YQ2aeOB1Y-qWBw4Gz5ATfyokR8GapuQ,5634
|
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=BVqAJ0sgPUfN8QsYztWiGB4j56he60TncM02KsylnCw,21449
|
|
39
39
|
modal/file_io.pyi,sha256=cPT_hsplE5iLCXhYOLn1Sp9eDdk7DxdFmicQHanJZyg,15918
|
40
40
|
modal/file_pattern_matcher.py,sha256=A_Kdkej6q7YQyhM_2-BvpFmPqJ0oHb54B6yf9VqvPVE,8116
|
41
41
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
42
|
-
modal/functions.pyi,sha256=
|
42
|
+
modal/functions.pyi,sha256=s3PQtacOfSeHukLR7Xz3qGD2sVh-CEgfpjgimv2gCCo,36161
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
44
44
|
modal/image.py,sha256=A83nmo0zfCUwgvJh0LZ7Yc1sYvDnZLl_phbKxN-9HIw,103144
|
45
45
|
modal/image.pyi,sha256=oH-GCHVEwD5fOX0K_IaWN5RKZlYwX82z-K4wxx8aN3c,68541
|
@@ -59,8 +59,8 @@ modal/partial_function.pyi,sha256=lqqOzZ9-QvHTDWKQ_oAYYOvsXgTOBKhO9u-RI98JbUk,13
|
|
59
59
|
modal/proxy.py,sha256=NQJJMGo-D2IfmeU0vb10WWaE4oTLcuf9jTeEJvactOg,1446
|
60
60
|
modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
|
61
61
|
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
|
-
modal/queue.py,sha256=
|
63
|
-
modal/queue.pyi,sha256=
|
62
|
+
modal/queue.py,sha256=bmfEEMzkQHeMhCoxQj2DEGLlrBq2pe1n6JloLU_LuT4,24747
|
63
|
+
modal/queue.pyi,sha256=cnnd5ZxZA3X0xT-igJbLC3p0TXATNwkJaXC8qCeFphQ,35815
|
64
64
|
modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
65
65
|
modal/runner.py,sha256=ostdzYpQb-20tlD6dIq7bpWTkZkOhjJBNuMNektqnJA,24068
|
66
66
|
modal/runner.pyi,sha256=lbwLljm1cC8d6PcNvmYQhkE8501V9fg0bYqqKX6G4r4,8489
|
@@ -69,8 +69,8 @@ modal/sandbox.py,sha256=eQd0Cf9yTFCNshnj7oH8WvecbhVIwsEsmuXB9O-REis,40927
|
|
69
69
|
modal/sandbox.pyi,sha256=_ddnvZGauSRG-WelsMB5oPil8KVWb0PSvmuAzAzrLIw,41713
|
70
70
|
modal/schedule.py,sha256=ng0g0AqNY5GQI9KhkXZQ5Wam5G42glbkqVQsNpBtbDE,3078
|
71
71
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
72
|
-
modal/secret.py,sha256=
|
73
|
-
modal/secret.pyi,sha256=
|
72
|
+
modal/secret.py,sha256=uJUms_p7HtWFME8maVHSoHEGB_serWHTHM-z6oJb5cM,15923
|
73
|
+
modal/secret.pyi,sha256=5YTMzaybIoBtOFhK2T2SuhhvHBbo4lDm8sBqH-rITtk,15912
|
74
74
|
modal/serving.py,sha256=3I3WBeVbzZY258u9PXBCW_dZBgypq3OhwBuTVvlgubE,4423
|
75
75
|
modal/serving.pyi,sha256=YfixTaWikyYpwhnNxCHMZnDDQiPmV1xJ87QF91U_WGU,1924
|
76
76
|
modal/snapshot.py,sha256=E3oxYQkYVRB_LeFBfmUV1Y6vHz8-azXJfC4x7A1QKnI,1455
|
@@ -78,8 +78,8 @@ modal/snapshot.pyi,sha256=0q83hlmWxAhDu8xwZyL5VmYh0i8Tigf7S60or2k30L8,1682
|
|
78
78
|
modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
|
79
79
|
modal/token_flow.py,sha256=GWpar0gANs71vm9Bd_Cj87UG1K3ljTURbkEjG3JLsrY,7616
|
80
80
|
modal/token_flow.pyi,sha256=eirYjyqbRiT3GCKMIPHJPpkvBTu8WxDKqSHehWaJI_4,2533
|
81
|
-
modal/volume.py,sha256=
|
82
|
-
modal/volume.pyi,sha256=
|
81
|
+
modal/volume.py,sha256=l_hBz7xpfbXCIhY3KSrgwLHzvHQk-w9lLHoEPrXGzLU,49796
|
82
|
+
modal/volume.pyi,sha256=fnHhR152qCh5St7XT-PReQK_tPAQ0hmcXKoezOulEl4,49427
|
83
83
|
modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
84
84
|
modal/_runtime/asgi.py,sha256=_2xSTsDD27Cit7xnMs4lzkJA2wzer2_N4Oa3BkXFzVA,22521
|
85
85
|
modal/_runtime/container_io_manager.py,sha256=9oqlKKPuLZjE7rYw3zTK30XUZighT3s4ZlA-9oxXOVI,45206
|
@@ -131,19 +131,19 @@ modal/cli/app.py,sha256=rbuAG92my-1eZN0olk6p2eD4oBnyBliUsrCOUW-U-9k,7832
|
|
131
131
|
modal/cli/cluster.py,sha256=8pQurDUvLP_HdSeHH5ZB6WIoDh48FR8qP9vGOtSsFXI,3168
|
132
132
|
modal/cli/config.py,sha256=lhp2Pq4RbTDhaZJ-ZJvhrMqJj8c-WjuRX6gjE3TrvXc,1691
|
133
133
|
modal/cli/container.py,sha256=9Ti-TIZ6vjDSmn9mk9h6SRwyhkQjtwirBN18LjpLyvE,3719
|
134
|
-
modal/cli/dict.py,sha256=
|
134
|
+
modal/cli/dict.py,sha256=YAJtiv41YcCd5Fqam3hXCNTs4Y0yOgGR_i6RfQNSAFM,4572
|
135
135
|
modal/cli/entry_point.py,sha256=M9ZeIsYx7rxdc6XP2iOIptVzmpj39D3rU8nfW7Dc3CQ,4388
|
136
136
|
modal/cli/environment.py,sha256=Ayddkiq9jdj3XYDJ8ZmUqFpPPH8xajYlbexRkzGtUcg,4334
|
137
137
|
modal/cli/import_refs.py,sha256=X59Z5JwgliRO6C-cIFto2Pr7o3SwlZMKQPKA0aI4ZK4,13927
|
138
138
|
modal/cli/launch.py,sha256=A5NtAgVDnTMlVFNfTlGS4p4Hbhpub8jZL_T9wvCkK5k,6155
|
139
139
|
modal/cli/network_file_system.py,sha256=I9IqTpVfk32uKYwGd8LTldkQx6UKYrQYNZ26q7Ab5Oo,8126
|
140
140
|
modal/cli/profile.py,sha256=g8X6tFFK9ccKyu2he9Yu19WLSLNdztzECgmIV__XJFs,3257
|
141
|
-
modal/cli/queues.py,sha256=
|
141
|
+
modal/cli/queues.py,sha256=5vKtKQ7YExdaxNPYZ0g5suU9sX0-F5h0zy0qBV-hN80,6140
|
142
142
|
modal/cli/run.py,sha256=96m6fpJKbjtva4xzJut0pxS36Z5WCMq0umpAry96im0,24946
|
143
|
-
modal/cli/secret.py,sha256=
|
143
|
+
modal/cli/secret.py,sha256=joJkA78-jKyGHx6VkpgCYvyWqmPa_BnU_GBMhpwsgTQ,7972
|
144
144
|
modal/cli/token.py,sha256=NAmQzKBfEHkcldWKeFxAVIqQBoo1RTp7_A4yc7-8qM0,1911
|
145
145
|
modal/cli/utils.py,sha256=aUXDU9_VgcJrGaGRy4bGf4dqwKYXHCpoO27x4m_bpuo,3293
|
146
|
-
modal/cli/volume.py,sha256=
|
146
|
+
modal/cli/volume.py,sha256=73u0wj3xXGb2sGG6sR9StY4rE8OG7Ec_3_iPnXRUgPo,10760
|
147
147
|
modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
148
148
|
modal/cli/programs/launch_instance_ssh.py,sha256=GrwK_Vy8-7B4x5a6AqFaF7lqNVgu75JYZ2BtFV0_DOw,2660
|
149
149
|
modal/cli/programs/run_jupyter.py,sha256=44Lpvqk2l3hH-uOkmAOzw60NEsfB5uaRDWDKVshvQhs,2682
|
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=v5uDRPVr2BNEyeOo6YNWNF5yFUddr66habUvEAqOAG
|
|
153
153
|
modal/experimental/flash.py,sha256=viXQumCIFp5VFsPFURdFTBTjP_QnsAi8nSWXAMmfjeQ,19744
|
154
154
|
modal/experimental/flash.pyi,sha256=A8_qJGtGoXEzKDdHbvhmCw7oqfneFEvJQK3ZdTOvUdU,10830
|
155
155
|
modal/experimental/ipython.py,sha256=TrCfmol9LGsRZMeDoeMPx3Hv3BFqQhYnmD_iH0pqdhk,2904
|
156
|
-
modal-1.1.2.
|
156
|
+
modal-1.1.2.dev16.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
|
@@ -161,10 +161,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
161
161
|
modal_docs/mdmd/mdmd.py,sha256=tUTImNd4UMFk1opkaw8J672gX8AkBO5gbY2S_NMxsxs,7140
|
162
162
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
163
163
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
164
|
-
modal_proto/api.proto,sha256=
|
164
|
+
modal_proto/api.proto,sha256=F4GTT-yAUTZcFrE1hn5wIRFda5EUSR89YEUZvnVSzoY,103814
|
165
165
|
modal_proto/api_grpc.py,sha256=1mDcIexGtoVq0675-sqlYVr_M2ncGETpmKsOP7VwE3Y,126369
|
166
|
-
modal_proto/api_pb2.py,sha256=
|
167
|
-
modal_proto/api_pb2.pyi,sha256=
|
166
|
+
modal_proto/api_pb2.py,sha256=fiPCK5cxXaCc-t59iONnuBIp_bXjm0h4cS2kyEvB9Y0,364247
|
167
|
+
modal_proto/api_pb2.pyi,sha256=HMXw-aMogEC9UC1jU54zU_1lAcMsuq0dOWK_g-E87Vg,502260
|
168
168
|
modal_proto/api_pb2_grpc.py,sha256=8TyCjBX-IvJaO_v7vkF_-J9h72wwLOe4MKL_jyXTK0g,272649
|
169
169
|
modal_proto/api_pb2_grpc.pyi,sha256=SQtAD1GR57oJOjxohW_8XTHpRRCahy02FTq0IYWzTNs,63669
|
170
170
|
modal_proto/modal_api_grpc.py,sha256=KL5Nw4AS9hJNxfL6VIeuxHz4jIUN7Unz7hYnoSsqyx0,19071
|
@@ -176,10 +176,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
176
176
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
177
177
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
178
178
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
179
|
-
modal_version/__init__.py,sha256=
|
179
|
+
modal_version/__init__.py,sha256=991qiLp7Gaj7KDTnPn2cQZzYs3lPFPPiUFmLVtqUyCk,121
|
180
180
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
181
|
-
modal-1.1.2.
|
182
|
-
modal-1.1.2.
|
183
|
-
modal-1.1.2.
|
184
|
-
modal-1.1.2.
|
185
|
-
modal-1.1.2.
|
181
|
+
modal-1.1.2.dev16.dist-info/METADATA,sha256=ebR80hnI4tOEH63GsXjKYPZ0sYbuGzjnsLiktsrGxDk,2460
|
182
|
+
modal-1.1.2.dev16.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
183
|
+
modal-1.1.2.dev16.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
184
|
+
modal-1.1.2.dev16.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
185
|
+
modal-1.1.2.dev16.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1511,9 +1511,11 @@ message FunctionCallCancelRequest {
|
|
1511
1511
|
}
|
1512
1512
|
|
1513
1513
|
message FunctionCallGetDataRequest {
|
1514
|
-
|
1514
|
+
oneof call_info {
|
1515
|
+
string function_call_id = 1;
|
1516
|
+
string attempt_token = 3;
|
1517
|
+
}
|
1515
1518
|
uint64 last_index = 2;
|
1516
|
-
optional string attempt_token = 3;
|
1517
1519
|
}
|
1518
1520
|
|
1519
1521
|
message FunctionCallInfo {
|
@@ -1540,9 +1542,11 @@ message FunctionCallListResponse {
|
|
1540
1542
|
}
|
1541
1543
|
|
1542
1544
|
message FunctionCallPutDataRequest {
|
1543
|
-
|
1545
|
+
oneof call_info {
|
1546
|
+
string function_call_id = 1;
|
1547
|
+
string attempt_token = 3;
|
1548
|
+
}
|
1544
1549
|
repeated DataChunk data_chunks = 2;
|
1545
|
-
reserved 3; // attempt_token
|
1546
1550
|
}
|
1547
1551
|
|
1548
1552
|
message FunctionCreateRequest {
|