modal 1.1.2.dev15__py3-none-any.whl → 1.1.2.dev17__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/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.dev15.dist-info → modal-1.1.2.dev17.dist-info}/METADATA +1 -1
- {modal-1.1.2.dev15.dist-info → modal-1.1.2.dev17.dist-info}/RECORD +23 -23
- modal_proto/api.proto +1 -0
- modal_proto/api_pb2.py +536 -536
- modal_proto/api_pb2.pyi +7 -2
- modal_version/__init__.py +1 -1
- {modal-1.1.2.dev15.dist-info → modal-1.1.2.dev17.dist-info}/WHEEL +0 -0
- {modal-1.1.2.dev15.dist-info → modal-1.1.2.dev17.dist-info}/entry_points.txt +0 -0
- {modal-1.1.2.dev15.dist-info → modal-1.1.2.dev17.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.2.dev15.dist-info → modal-1.1.2.dev17.dist-info}/top_level.txt +0 -0
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=e2xkdtr64vOqBVPB-t7sXevBJwn8Fyxy6NJ_3X-Ig8U,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
|
@@ -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.dev17.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=h8dFXyBZjvdeg1xz6-KqtITH6wYvwaHnuf2PvP8aYtY,103857
|
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=Oqb451HSGpro9ZZ9qLmHWWrM13VJpRGWeGlB8KCykCU,364345
|
167
|
+
modal_proto/api_pb2.pyi,sha256=f4GsaHHROjX93jidQMREJzWo-nHmzJo7w114IBuGbCo,502782
|
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=sYlg70EASNLaHKfyOMOU_mrgrNoGklkiyZqbz9Vx0Bo,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.dev17.dist-info/METADATA,sha256=chTa87s92k0w8GkEjaVXJ6A7tNRl-R61c1LQnY3I2jw,2460
|
182
|
+
modal-1.1.2.dev17.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
183
|
+
modal-1.1.2.dev17.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
184
|
+
modal-1.1.2.dev17.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
185
|
+
modal-1.1.2.dev17.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1824,6 +1824,7 @@ message FunctionOptions {
|
|
1824
1824
|
optional uint32 batch_max_size = 15;
|
1825
1825
|
optional uint64 batch_linger_ms = 16;
|
1826
1826
|
optional SchedulerPlacement scheduler_placement = 17;
|
1827
|
+
optional string cloud_provider_str = 18;
|
1827
1828
|
}
|
1828
1829
|
|
1829
1830
|
message FunctionPrecreateRequest {
|