modal 1.0.6.dev52__py3-none-any.whl → 1.0.6.dev55__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/_functions.py +1 -1
- modal/_runtime/container_io_manager.py +5 -1
- modal/_utils/function_utils.py +6 -3
- modal/client.pyi +2 -2
- modal/io_streams.py +1 -1
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/METADATA +1 -1
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/RECORD +12 -12
- modal_version/__init__.py +1 -1
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/WHEEL +0 -0
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/entry_points.txt +0 -0
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.6.dev52.dist-info → modal-1.0.6.dev55.dist-info}/top_level.txt +0 -0
modal/_functions.py
CHANGED
|
@@ -334,7 +334,7 @@ class _Invocation:
|
|
|
334
334
|
items_total: Union[int, None] = None
|
|
335
335
|
async with aclosing(
|
|
336
336
|
async_merge(
|
|
337
|
-
_stream_function_call_data(self.client, self.function_call_id, variant="data_out"),
|
|
337
|
+
_stream_function_call_data(self.client, None, self.function_call_id, variant="data_out"),
|
|
338
338
|
callable_to_agen(self.run_function),
|
|
339
339
|
)
|
|
340
340
|
) as streamer:
|
|
@@ -486,7 +486,11 @@ class _ContainerIOManager:
|
|
|
486
486
|
|
|
487
487
|
async def get_data_in(self, function_call_id: str) -> AsyncIterator[Any]:
|
|
488
488
|
"""Read from the `data_in` stream of a function call."""
|
|
489
|
-
|
|
489
|
+
stub = self._client.stub
|
|
490
|
+
if self.input_plane_server_url:
|
|
491
|
+
stub = await self._client.get_stub(self.input_plane_server_url)
|
|
492
|
+
|
|
493
|
+
async for data in _stream_function_call_data(self._client, stub, function_call_id, "data_in"):
|
|
490
494
|
yield data
|
|
491
495
|
|
|
492
496
|
async def put_data_out(
|
modal/_utils/function_utils.py
CHANGED
|
@@ -386,9 +386,12 @@ def callable_has_non_self_non_default_params(f: Callable[..., Any]) -> bool:
|
|
|
386
386
|
|
|
387
387
|
|
|
388
388
|
async def _stream_function_call_data(
|
|
389
|
-
client, function_call_id: str, variant: Literal["data_in", "data_out"]
|
|
389
|
+
client, stub, function_call_id: str, variant: Literal["data_in", "data_out"]
|
|
390
390
|
) -> AsyncGenerator[Any, None]:
|
|
391
391
|
"""Read from the `data_in` or `data_out` stream of a function call."""
|
|
392
|
+
if stub is None:
|
|
393
|
+
stub = client.stub
|
|
394
|
+
|
|
392
395
|
last_index = 0
|
|
393
396
|
|
|
394
397
|
# TODO(gongy): generalize this logic as util for unary streams
|
|
@@ -396,9 +399,9 @@ async def _stream_function_call_data(
|
|
|
396
399
|
delay_ms = 1
|
|
397
400
|
|
|
398
401
|
if variant == "data_in":
|
|
399
|
-
stub_fn =
|
|
402
|
+
stub_fn = stub.FunctionCallGetDataIn
|
|
400
403
|
elif variant == "data_out":
|
|
401
|
-
stub_fn =
|
|
404
|
+
stub_fn = stub.FunctionCallGetDataOut
|
|
402
405
|
else:
|
|
403
406
|
raise ValueError(f"Invalid variant {variant}")
|
|
404
407
|
|
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.0.6.
|
|
36
|
+
version: str = "1.0.6.dev55",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -163,7 +163,7 @@ class Client:
|
|
|
163
163
|
server_url: str,
|
|
164
164
|
client_type: int,
|
|
165
165
|
credentials: typing.Optional[tuple[str, str]],
|
|
166
|
-
version: str = "1.0.6.
|
|
166
|
+
version: str = "1.0.6.dev55",
|
|
167
167
|
):
|
|
168
168
|
"""mdmd:hidden
|
|
169
169
|
The Modal client object is not intended to be instantiated directly by users.
|
modal/io_streams.py
CHANGED
|
@@ -287,10 +287,10 @@ class _StreamReader(Generic[T]):
|
|
|
287
287
|
if skip_empty_messages and message == b"":
|
|
288
288
|
continue
|
|
289
289
|
|
|
290
|
-
yield message
|
|
291
290
|
if message is None:
|
|
292
291
|
completed = True
|
|
293
292
|
self.eof = True
|
|
293
|
+
yield message
|
|
294
294
|
|
|
295
295
|
except (GRPCError, StreamTerminatedError) as exc:
|
|
296
296
|
if retries_remaining > 0:
|
|
@@ -3,7 +3,7 @@ modal/__main__.py,sha256=sTJcc9EbDuCKSwg3tL6ZckFw9WWdlkXW8mId1IvJCNc,2846
|
|
|
3
3
|
modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
|
|
4
4
|
modal/_clustered_functions.pyi,sha256=_QKM87tdYwcALSGth8a0-9qXl02fZK6zMfEGEoYz7eA,1007
|
|
5
5
|
modal/_container_entrypoint.py,sha256=1qBMNY_E9ICC_sRCtillMxmKPsmxJl1J0_qOAG8rH-0,28288
|
|
6
|
-
modal/_functions.py,sha256=
|
|
6
|
+
modal/_functions.py,sha256=9Dcw1JXABE78UuWj46AxxAS3iaVptJwlAyBcdqkicXs,81235
|
|
7
7
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
|
8
8
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
|
9
9
|
modal/_object.py,sha256=QWyUGjrGLupITkyvJru2cekizsaVdteAhwMQlw_tE4k,11172
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=U0sPiHpphcRHLnoLYh2IrU2RSpRFX9BE5uHb7h42STs,47478
|
|
|
22
22
|
modal/app.pyi,sha256=cXiSTu2bwu6csAUdkOlh7mr9tPvtaS2qWSEhlC1UxAg,43787
|
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
|
24
24
|
modal/client.py,sha256=5QyM7VJjsFbHf6E91ar3A2KY9mx03wdtGlNJvfTKUVs,17087
|
|
25
|
-
modal/client.pyi,sha256=
|
|
25
|
+
modal/client.pyi,sha256=nrVO5frltg-9C-gV3VfMswhslw59_h_RrU7hDXr8EeM,15270
|
|
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=B5EtzpBXemH718YvgXaYjuTKvairvqfXJ7IwLZ_6vVA,40034
|
|
@@ -43,7 +43,7 @@ modal/functions.pyi,sha256=FJe_91dSrMCRNVT-YV1UhtxFKzIvL_C5q8xdk08-wT8,34840
|
|
|
43
43
|
modal/gpu.py,sha256=Fe5ORvVPDIstSq1xjmM6OoNgLYFWvogP9r5BgmD3hYg,6769
|
|
44
44
|
modal/image.py,sha256=qTJ6pTcLfYRh112wId7CCNWWmm077w6JoIqxE8BiCoo,102261
|
|
45
45
|
modal/image.pyi,sha256=TVy-rnSAP2WgQ5zf_sQLFzb-99Qg9LiQNGXR9psFA_o,68107
|
|
46
|
-
modal/io_streams.py,sha256=
|
|
46
|
+
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=q-pPeVxAmte-G_LDpbFwaNs2Rb2MIpscfnCXzkhxrOI,36734
|
|
49
49
|
modal/mount.pyi,sha256=n6AuS8J3bTCQj750nVZZdVBvzCAlSM2fyxAt_5LLFik,20264
|
|
@@ -82,7 +82,7 @@ modal/volume.py,sha256=7-nLtHhIY18qPJo0W23rBc2p4chf-t4Se3uJPzTSzoA,44333
|
|
|
82
82
|
modal/volume.pyi,sha256=sjr67f0npiRzl2j3blrcMA_QSoogJAS0xLqWI06xWXQ,40727
|
|
83
83
|
modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
84
84
|
modal/_runtime/asgi.py,sha256=_2xSTsDD27Cit7xnMs4lzkJA2wzer2_N4Oa3BkXFzVA,22521
|
|
85
|
-
modal/_runtime/container_io_manager.py,sha256=
|
|
85
|
+
modal/_runtime/container_io_manager.py,sha256=hjkK4gke_A8_mULSfm3F1hZKR0C61lKbRUI8mHS-LGE,45464
|
|
86
86
|
modal/_runtime/container_io_manager.pyi,sha256=_HvYZzpXX-msFDFuOvk1z6L5DBbv5Dfly16PgYDOojY,23065
|
|
87
87
|
modal/_runtime/execution_context.py,sha256=73Y5zH_o-MhVCrkJXakYVlFkKqCa2CWvqoHjOfJrJGg,3034
|
|
88
88
|
modal/_runtime/execution_context.pyi,sha256=IFcW1jphqTchX4fy-45rqfz91RhkZPWtIhIvLvGsNGM,2294
|
|
@@ -97,7 +97,7 @@ modal/_utils/blob_utils.py,sha256=v2NAQVVGx1AQjHQ7-2T64x5rYtwjFFykxDXb-0grrzA,21
|
|
|
97
97
|
modal/_utils/bytes_io_segment_payload.py,sha256=vaXPq8b52-x6G2hwE7SrjS58pg_aRm7gV3bn3yjmTzQ,4261
|
|
98
98
|
modal/_utils/deprecation.py,sha256=-Bgg7jZdcJU8lROy18YyVnQYbM8hue-hVmwJqlWAGH0,5504
|
|
99
99
|
modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
|
|
100
|
-
modal/_utils/function_utils.py,sha256=
|
|
100
|
+
modal/_utils/function_utils.py,sha256=fX_39dxVedYWhnZ1XgxqRhELFI0Pa5zZil6ijueLAzI,28171
|
|
101
101
|
modal/_utils/git_utils.py,sha256=qtUU6JAttF55ZxYq51y55OR58B0tDPZsZWK5dJe6W5g,3182
|
|
102
102
|
modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
|
|
103
103
|
modal/_utils/grpc_utils.py,sha256=HBZdMcBHCk6uozILYTjGnR0mV8fg7WOdJldoyZ-ZhSg,10137
|
|
@@ -151,7 +151,7 @@ modal/requirements/2025.06.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqr
|
|
|
151
151
|
modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
|
|
152
152
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
|
153
153
|
modal/requirements/base-images.json,sha256=JYSDAgHTl-WrV_TZW5icY-IJEnbe2eQ4CZ_KN6EOZKU,1304
|
|
154
|
-
modal-1.0.6.
|
|
154
|
+
modal-1.0.6.dev55.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
155
155
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
156
156
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
157
157
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -174,10 +174,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
|
174
174
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
175
175
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
|
176
176
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
|
-
modal_version/__init__.py,sha256=
|
|
177
|
+
modal_version/__init__.py,sha256=glLfjyebnOetRBp6QFdYlUNmdBgQ9UJUbI7naVVCdTQ,121
|
|
178
178
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
179
|
-
modal-1.0.6.
|
|
180
|
-
modal-1.0.6.
|
|
181
|
-
modal-1.0.6.
|
|
182
|
-
modal-1.0.6.
|
|
183
|
-
modal-1.0.6.
|
|
179
|
+
modal-1.0.6.dev55.dist-info/METADATA,sha256=yfYFiMG8yVx3OtLE7zOZY1ekIG4lV0O6K-wnaL5ndpE,2462
|
|
180
|
+
modal-1.0.6.dev55.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
181
|
+
modal-1.0.6.dev55.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
182
|
+
modal-1.0.6.dev55.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
183
|
+
modal-1.0.6.dev55.dist-info/RECORD,,
|
modal_version/__init__.py
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|