modal 1.1.2.dev18__py3-none-any.whl → 1.1.2.dev19__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/_functions.py +2 -1
- modal/_object.py +13 -2
- modal/client.pyi +2 -2
- modal/cls.py +2 -1
- modal/dict.py +19 -3
- modal/network_file_system.py +7 -1
- modal/object.pyi +3 -0
- modal/proxy.py +2 -1
- modal/queue.py +12 -2
- modal/secret.py +12 -2
- modal/volume.py +19 -3
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/METADATA +1 -1
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/RECORD +18 -18
- modal_version/__init__.py +1 -1
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/WHEEL +0 -0
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/entry_points.txt +0 -0
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/licenses/LICENSE +0 -0
- {modal-1.1.2.dev18.dist-info → modal-1.1.2.dev19.dist-info}/top_level.txt +0 -0
modal/_functions.py
CHANGED
@@ -1276,7 +1276,8 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
1276
1276
|
|
1277
1277
|
self._hydrate(response.function_id, resolver.client, response.handle_metadata)
|
1278
1278
|
|
1279
|
-
|
1279
|
+
environment_rep = f", environment_name={environment_name!r}" if environment_name else ""
|
1280
|
+
rep = f"modal.Function.from_name('{app_name}', '{name}'{environment_rep})"
|
1280
1281
|
return cls._from_loader(_load_remote, rep, is_another_app=True, hydrate_lazily=True)
|
1281
1282
|
|
1282
1283
|
@classmethod
|
modal/_object.py
CHANGED
@@ -191,9 +191,20 @@ class _Object:
|
|
191
191
|
def _is_id_type(cls, object_id) -> bool:
|
192
192
|
return cls._get_type_from_id(object_id) == cls
|
193
193
|
|
194
|
+
@classmethod
|
195
|
+
def _repr(cls, name: str, environment_name: Optional[str] = None) -> str:
|
196
|
+
public_cls = cls.__name__.strip("_")
|
197
|
+
environment_repr = f", environment_name={environment_name!r}" if environment_name else ""
|
198
|
+
return f"modal.{public_cls}.from_name({name!r}{environment_repr})"
|
199
|
+
|
194
200
|
@classmethod
|
195
201
|
def _new_hydrated(
|
196
|
-
cls,
|
202
|
+
cls,
|
203
|
+
object_id: str,
|
204
|
+
client: _Client,
|
205
|
+
handle_metadata: Optional[Message],
|
206
|
+
is_another_app: bool = False,
|
207
|
+
rep: Optional[str] = None,
|
197
208
|
) -> Self:
|
198
209
|
obj_cls: type[Self]
|
199
210
|
if cls._type_prefix is not None:
|
@@ -210,7 +221,7 @@ class _Object:
|
|
210
221
|
|
211
222
|
# Instantiate provider
|
212
223
|
obj = _Object.__new__(obj_cls)
|
213
|
-
rep = f"
|
224
|
+
rep = rep or f"modal.{obj_cls.__name__.strip('_')}.from_id({object_id!r})"
|
214
225
|
obj._init(rep, is_another_app=is_another_app)
|
215
226
|
obj._hydrate(object_id, client, handle_metadata)
|
216
227
|
|
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.2.
|
36
|
+
version: str = "1.1.2.dev19",
|
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.2.
|
167
|
+
version: str = "1.1.2.dev19",
|
168
168
|
):
|
169
169
|
"""mdmd:hidden
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/cls.py
CHANGED
@@ -657,7 +657,8 @@ More information on class parameterization can be found here: https://modal.com/
|
|
657
657
|
await resolver.load(self._class_service_function)
|
658
658
|
self._hydrate(response.class_id, resolver.client, response.handle_metadata)
|
659
659
|
|
660
|
-
|
660
|
+
environment_rep = f", environment_name={environment_name!r}" if environment_name else ""
|
661
|
+
rep = f"Cls.from_name({app_name!r}, {name!r}{environment_rep})"
|
661
662
|
cls = cls._from_loader(_load_remote, rep, is_another_app=True, hydrate_lazily=True)
|
662
663
|
|
663
664
|
class_service_name = f"{name}.*" # special name of the base service function for the class
|
modal/dict.py
CHANGED
@@ -101,7 +101,16 @@ class _DictManager:
|
|
101
101
|
break
|
102
102
|
finished = await retrieve_page(items[-1].metadata.creation_info.created_at)
|
103
103
|
|
104
|
-
dicts = [
|
104
|
+
dicts = [
|
105
|
+
_Dict._new_hydrated(
|
106
|
+
item.dict_id,
|
107
|
+
client,
|
108
|
+
item.metadata,
|
109
|
+
is_another_app=True,
|
110
|
+
rep=_Dict._repr(item.name, environment_name),
|
111
|
+
)
|
112
|
+
for item in items
|
113
|
+
]
|
105
114
|
return dicts[:max_objects] if max_objects is not None else dicts
|
106
115
|
|
107
116
|
@staticmethod
|
@@ -252,7 +261,13 @@ class _Dict(_Object, type_prefix="di"):
|
|
252
261
|
async with TaskContext() as tc:
|
253
262
|
request = api_pb2.DictHeartbeatRequest(dict_id=response.dict_id)
|
254
263
|
tc.infinite_loop(lambda: client.stub.DictHeartbeat(request), sleep=_heartbeat_sleep)
|
255
|
-
yield cls._new_hydrated(
|
264
|
+
yield cls._new_hydrated(
|
265
|
+
response.dict_id,
|
266
|
+
client,
|
267
|
+
response.metadata,
|
268
|
+
is_another_app=True,
|
269
|
+
rep="modal.Dict.ephemeral()",
|
270
|
+
)
|
256
271
|
|
257
272
|
@staticmethod
|
258
273
|
def from_name(
|
@@ -295,7 +310,8 @@ class _Dict(_Object, type_prefix="di"):
|
|
295
310
|
logger.debug(f"Created dict with id {response.dict_id}")
|
296
311
|
self._hydrate(response.dict_id, resolver.client, response.metadata)
|
297
312
|
|
298
|
-
|
313
|
+
rep = _Dict._repr(name, environment_name)
|
314
|
+
return _Dict._from_loader(_load, rep, is_another_app=True, hydrate_lazily=True, name=name)
|
299
315
|
|
300
316
|
@staticmethod
|
301
317
|
async def lookup(
|
modal/network_file_system.py
CHANGED
@@ -161,7 +161,13 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
|
|
161
161
|
async with TaskContext() as tc:
|
162
162
|
request = api_pb2.SharedVolumeHeartbeatRequest(shared_volume_id=response.shared_volume_id)
|
163
163
|
tc.infinite_loop(lambda: client.stub.SharedVolumeHeartbeat(request), sleep=_heartbeat_sleep)
|
164
|
-
yield cls._new_hydrated(
|
164
|
+
yield cls._new_hydrated(
|
165
|
+
response.shared_volume_id,
|
166
|
+
client,
|
167
|
+
None,
|
168
|
+
is_another_app=True,
|
169
|
+
rep="modal.NetworkFileSystem.ephemeral()",
|
170
|
+
)
|
165
171
|
|
166
172
|
@staticmethod
|
167
173
|
async def lookup(
|
modal/object.pyi
CHANGED
@@ -117,12 +117,15 @@ class Object:
|
|
117
117
|
@classmethod
|
118
118
|
def _is_id_type(cls, object_id) -> bool: ...
|
119
119
|
@classmethod
|
120
|
+
def _repr(cls, name: str, environment_name: typing.Optional[str] = None) -> str: ...
|
121
|
+
@classmethod
|
120
122
|
def _new_hydrated(
|
121
123
|
cls,
|
122
124
|
object_id: str,
|
123
125
|
client: modal.client.Client,
|
124
126
|
handle_metadata: typing.Optional[google.protobuf.message.Message],
|
125
127
|
is_another_app: bool = False,
|
128
|
+
rep: typing.Optional[str] = None,
|
126
129
|
) -> typing_extensions.Self: ...
|
127
130
|
def _hydrate_from_other(self, other: typing_extensions.Self): ...
|
128
131
|
def __repr__(self): ...
|
modal/proxy.py
CHANGED
@@ -36,7 +36,8 @@ class _Proxy(_Object, type_prefix="pr"):
|
|
36
36
|
response: api_pb2.ProxyGetResponse = await resolver.client.stub.ProxyGet(req)
|
37
37
|
self._hydrate(response.proxy.proxy_id, resolver.client, None)
|
38
38
|
|
39
|
-
|
39
|
+
rep = _Proxy._repr(name, environment_name)
|
40
|
+
return _Proxy._from_loader(_load, rep, is_another_app=True)
|
40
41
|
|
41
42
|
|
42
43
|
Proxy = synchronize_api(_Proxy, target_module=__name__)
|
modal/queue.py
CHANGED
@@ -99,7 +99,16 @@ class _QueueManager:
|
|
99
99
|
break
|
100
100
|
finished = await retrieve_page(items[-1].metadata.creation_info.created_at)
|
101
101
|
|
102
|
-
queues = [
|
102
|
+
queues = [
|
103
|
+
_Queue._new_hydrated(
|
104
|
+
item.queue_id,
|
105
|
+
client,
|
106
|
+
item.metadata,
|
107
|
+
is_another_app=True,
|
108
|
+
rep=_Queue._repr(item.name, environment_name),
|
109
|
+
)
|
110
|
+
for item in items
|
111
|
+
]
|
103
112
|
return queues[:max_objects] if max_objects is not None else queues
|
104
113
|
|
105
114
|
@staticmethod
|
@@ -314,7 +323,8 @@ class _Queue(_Object, type_prefix="qu"):
|
|
314
323
|
response = await resolver.client.stub.QueueGetOrCreate(req)
|
315
324
|
self._hydrate(response.queue_id, resolver.client, response.metadata)
|
316
325
|
|
317
|
-
|
326
|
+
rep = _Queue._repr(name, environment_name)
|
327
|
+
return _Queue._from_loader(_load, rep, is_another_app=True, hydrate_lazily=True, name=name)
|
318
328
|
|
319
329
|
@staticmethod
|
320
330
|
async def lookup(
|
modal/secret.py
CHANGED
@@ -91,7 +91,16 @@ class _SecretManager:
|
|
91
91
|
break
|
92
92
|
finished = await retrieve_page(items[-1].metadata.creation_info.created_at)
|
93
93
|
|
94
|
-
secrets = [
|
94
|
+
secrets = [
|
95
|
+
_Secret._new_hydrated(
|
96
|
+
item.secret_id,
|
97
|
+
client,
|
98
|
+
item.metadata,
|
99
|
+
is_another_app=True,
|
100
|
+
rep=_Secret._repr(item.label, environment_name),
|
101
|
+
)
|
102
|
+
for item in items
|
103
|
+
]
|
95
104
|
return secrets[:max_objects] if max_objects is not None else secrets
|
96
105
|
|
97
106
|
@staticmethod
|
@@ -334,7 +343,8 @@ class _Secret(_Object, type_prefix="st"):
|
|
334
343
|
raise
|
335
344
|
self._hydrate(response.secret_id, resolver.client, response.metadata)
|
336
345
|
|
337
|
-
|
346
|
+
rep = _Secret._repr(name, environment_name)
|
347
|
+
return _Secret._from_loader(_load, rep, hydrate_lazily=True, name=name)
|
338
348
|
|
339
349
|
@staticmethod
|
340
350
|
async def lookup(
|
modal/volume.py
CHANGED
@@ -168,7 +168,16 @@ class _VolumeManager:
|
|
168
168
|
break
|
169
169
|
finished = await retrieve_page(items[-1].metadata.creation_info.created_at)
|
170
170
|
|
171
|
-
volumes = [
|
171
|
+
volumes = [
|
172
|
+
_Volume._new_hydrated(
|
173
|
+
item.volume_id,
|
174
|
+
client,
|
175
|
+
item.metadata,
|
176
|
+
is_another_app=True,
|
177
|
+
rep=_Volume._repr(item.label, environment_name),
|
178
|
+
)
|
179
|
+
for item in items
|
180
|
+
]
|
172
181
|
return volumes[:max_objects] if max_objects is not None else volumes
|
173
182
|
|
174
183
|
@staticmethod
|
@@ -362,7 +371,8 @@ class _Volume(_Object, type_prefix="vo"):
|
|
362
371
|
response = await resolver.client.stub.VolumeGetOrCreate(req)
|
363
372
|
self._hydrate(response.volume_id, resolver.client, response.metadata)
|
364
373
|
|
365
|
-
|
374
|
+
rep = _Volume._repr(name, environment_name)
|
375
|
+
return _Volume._from_loader(_load, rep, hydrate_lazily=True, name=name)
|
366
376
|
|
367
377
|
@classmethod
|
368
378
|
@asynccontextmanager
|
@@ -398,7 +408,13 @@ class _Volume(_Object, type_prefix="vo"):
|
|
398
408
|
async with TaskContext() as tc:
|
399
409
|
request = api_pb2.VolumeHeartbeatRequest(volume_id=response.volume_id)
|
400
410
|
tc.infinite_loop(lambda: client.stub.VolumeHeartbeat(request), sleep=_heartbeat_sleep)
|
401
|
-
yield cls._new_hydrated(
|
411
|
+
yield cls._new_hydrated(
|
412
|
+
response.volume_id,
|
413
|
+
client,
|
414
|
+
response.metadata,
|
415
|
+
is_another_app=True,
|
416
|
+
rep="modal.Volume.ephemeral()",
|
417
|
+
)
|
402
418
|
|
403
419
|
@staticmethod
|
404
420
|
async def lookup(
|
@@ -3,10 +3,10 @@ modal/__main__.py,sha256=45H-GtwzaDfN-1nP4_HYvzN3s7AG_HXR4-ynrsjO_OI,2803
|
|
3
3
|
modal/_clustered_functions.py,sha256=zmrKbptRbqp4euS3LWncKaLXb8Kjj4YreusOzpEpRMk,2856
|
4
4
|
modal/_clustered_functions.pyi,sha256=_wtFjWocGf1WgI-qYBpbJPArNkg2H9JV7BVaGgMesEQ,1103
|
5
5
|
modal/_container_entrypoint.py,sha256=1qBMNY_E9ICC_sRCtillMxmKPsmxJl1J0_qOAG8rH-0,28288
|
6
|
-
modal/_functions.py,sha256=
|
6
|
+
modal/_functions.py,sha256=nYwFGrtjQ_BVEHIPZ8LX4PjuWYliHG5xbFvJ5c2nc2c,83514
|
7
7
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
8
8
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
9
|
-
modal/_object.py,sha256=
|
9
|
+
modal/_object.py,sha256=gwsLdXb-Ecd8nH8LVCo8oVZPzzdyo9BrN1DjgQmsSuM,11967
|
10
10
|
modal/_output.py,sha256=G9CeSQEBzjhveWWEzWmYa5Uwbu4lZf8N8IFH1UM4fU0,25803
|
11
11
|
modal/_partial_function.py,sha256=B1J4S9W-La0NHaVmY1aCuH0E3QxJHIX6ZWY5eNTQ7io,37142
|
12
12
|
modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
|
@@ -22,15 +22,15 @@ 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=JV6bjkA2GOvn0j9KzJ191IYbVR559mqmIM8zgsMCw2w,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
|
-
modal/cls.py,sha256=
|
28
|
+
modal/cls.py,sha256=bsoBlJrriB-LXj81oyfKyaNW3Kra5A2YU3jhtnOmcAs,40132
|
29
29
|
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=
|
33
|
+
modal/dict.py,sha256=QfYy3RQC7fWq5I42gpJmfZh5dYlJOhUxpfu_RZbcyPY,20518
|
34
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
|
@@ -47,19 +47,19 @@ modal/io_streams.py,sha256=ut9tY_yEtiBsgQ40u_72Ns87IZHfbMxfnh8t6U9RSGA,16204
|
|
47
47
|
modal/io_streams.pyi,sha256=aOun_jUFKHSJyUY6-7gKvNoxzcULsa8_hxdtEO7v-gk,13980
|
48
48
|
modal/mount.py,sha256=EHttd7D0HNtGUDyB3DS26dJMdabG-SlIaD5c52dJnbE,36729
|
49
49
|
modal/mount.pyi,sha256=n6AuS8J3bTCQj750nVZZdVBvzCAlSM2fyxAt_5LLFik,20264
|
50
|
-
modal/network_file_system.py,sha256=
|
50
|
+
modal/network_file_system.py,sha256=WHaPNZlgo1KzWa5qckKdLZWcj37NjGoz9abwvJ0P4HQ,14913
|
51
51
|
modal/network_file_system.pyi,sha256=Td_IobHr84iLo_9LZKQ4tNdUB60yjX8QWBaFiUvhfi8,17685
|
52
52
|
modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
|
53
|
-
modal/object.pyi,sha256=
|
53
|
+
modal/object.pyi,sha256=qlyVVMezW3XgJe_iqhtzWRSki3Nuk-KrpXc1g-r8ujA,6944
|
54
54
|
modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
|
55
55
|
modal/parallel_map.py,sha256=2ujy7eRHK7N2sdyoKjq_ynWUyeoN9M9BD5XpB3KjMLk,66948
|
56
56
|
modal/parallel_map.pyi,sha256=MMjGNm-Q4J_rhjZ3441WOvQn4yrs0l0nACiKublZdu8,15373
|
57
57
|
modal/partial_function.py,sha256=aIdlGfTjjgqY6Fpr-biCjvRU9W542_S5N2xkNN_rYGM,1127
|
58
58
|
modal/partial_function.pyi,sha256=lqqOzZ9-QvHTDWKQ_oAYYOvsXgTOBKhO9u-RI98JbUk,13986
|
59
|
-
modal/proxy.py,sha256=
|
59
|
+
modal/proxy.py,sha256=CQydu_NPDgApN2GLdd7rrcg8PM-pXyFdVYcTaGMBRCQ,1491
|
60
60
|
modal/proxy.pyi,sha256=yWGWwADCRGrC2w81B7671UTH4Uv3HMZKy5vVqlJUZoA,1417
|
61
61
|
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
|
-
modal/queue.py,sha256=
|
62
|
+
modal/queue.py,sha256=yknHLrxwd5aYxcpfTq-huSQArOhXJiZY1DvS7qe7L-k,24968
|
63
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
|
@@ -69,7 +69,7 @@ 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=
|
72
|
+
modal/secret.py,sha256=S_7Ck9J0yVqfBiaF2BUpqQ9NRBhxre19bWggl8PS7_Q,16146
|
73
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
|
@@ -78,7 +78,7 @@ 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=
|
81
|
+
modal/volume.py,sha256=hYllk839X0X3uc_DolZkEkM_hZOFYe1nzjatz5XwGZY,50146
|
82
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
|
@@ -153,7 +153,7 @@ modal/experimental/__init__.py,sha256=dPBPpxsmjZMLF3YjRrXoTvT01pl65wxi4UdFZsOem3
|
|
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.dev19.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
|
@@ -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=5RT7WXYTUeJw8nizhIj-VNA0qsnzupMr-yu5evvvPfs,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.dev19.dist-info/METADATA,sha256=V5n9hPzXw6zUBaMfwfY7QfZBTUWEzheC2SMIeX5oIjY,2460
|
182
|
+
modal-1.1.2.dev19.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
183
|
+
modal-1.1.2.dev19.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
184
|
+
modal-1.1.2.dev19.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
185
|
+
modal-1.1.2.dev19.dist-info/RECORD,,
|
modal_version/__init__.py
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|