modal 0.74.51__py3-none-any.whl → 0.74.53__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 CHANGED
@@ -1583,6 +1583,15 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
1583
1583
  fc._is_generator = self._is_generator if self._is_generator else False
1584
1584
  return fc
1585
1585
 
1586
+ @synchronizer.no_input_translation
1587
+ @live_method
1588
+ async def _spawn_map_inner(self, *args: P.args, **kwargs: P.kwargs) -> None:
1589
+ self._check_no_web_url("spawn_map")
1590
+ if self._is_generator:
1591
+ raise Exception("Cannot `spawn_map` over a generator function.")
1592
+
1593
+ await self._call_function_nowait(args, kwargs, api_pb2.FUNCTION_CALL_INVOCATION_TYPE_ASYNC, from_spawn_map=True)
1594
+
1586
1595
  @synchronizer.no_input_translation
1587
1596
  @live_method
1588
1597
  async def spawn(self, *args: P.args, **kwargs: P.kwargs) -> "_FunctionCall[ReturnType]":
modal/client.pyi CHANGED
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.51"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.53"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -85,7 +85,7 @@ class Client:
85
85
  _snapshotted: bool
86
86
 
87
87
  def __init__(
88
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.51"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.53"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
modal/functions.pyi CHANGED
@@ -249,6 +249,12 @@ class Function(
249
249
  modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
250
250
  ]
251
251
 
252
+ class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
253
+ def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
254
+ async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
255
+
256
+ _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
257
+
252
258
  class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
253
259
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
254
260
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
modal/parallel_map.py CHANGED
@@ -496,9 +496,7 @@ async def _spawn_map_async(self, *input_iterators, kwargs={}) -> None:
496
496
  errors, log a warning that the function call is waiting to be created.
497
497
  """
498
498
 
499
- return self._call_function_nowait.aio(
500
- args, kwargs, api_pb2.FUNCTION_CALL_INVOCATION_TYPE_ASYNC, from_spawn_map=True
501
- )
499
+ return self._spawn_map_inner.aio(args, kwargs, api_pb2.FUNCTION_CALL_INVOCATION_TYPE_ASYNC)
502
500
 
503
501
  input_gen = async_zip(*[sync_or_async_iter(it) for it in input_iterators])
504
502
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.51
3
+ Version: 0.74.53
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.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=vllkegc99A0jrUOWa8mdlSbdp6uz36TsHhGxysAOpaQ,771
5
5
  modal/_container_entrypoint.py,sha256=2Zx9O_EMJg0H77EdnC2vGKs6uFMWwbP1NLFf-qYmWmU,28962
6
- modal/_functions.py,sha256=3Nx7snIerJEqcyCRGMTr3MReWklMpURItVz-o5qX7tE,77262
6
+ modal/_functions.py,sha256=gxkLeVvj21akFNzHLeSH0F8AvjEnqRkD_2WIM3NymvE,77674
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=6ve4sI2nRAnjPCuAXdSoUplaXfzC9MqRlF_ZLULwwy0,11472
@@ -22,7 +22,7 @@ modal/app.py,sha256=r-9vVU1lrR1CWtJEo60fuaianvxY_oOXZyv1Qx1DEkI,51231
22
22
  modal/app.pyi,sha256=0QNtnUpAFbOPcbwCt119ge7OmoBqMFw5SajLgdE5eOw,28600
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=U-YKSw0n7J1ZLREt9cbEJCtmHe5YoPKFxl0xlkan2yc,15565
25
- modal/client.pyi,sha256=ogVEBy4PU2drB-wMNRCDKprT_A5VwKKO5GdfXBeEHvg,7593
25
+ modal/client.pyi,sha256=5wYu91DsQSQu93l6m11lHwtQM6U1U3ifdESoi48sOgw,7593
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=aHoMEWMZUN7bOezs3tRPxzS1FP3gTxZBORVjbPmtxyg,35338
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
39
39
  modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
40
40
  modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
41
41
  modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
42
- modal/functions.pyi,sha256=N0vF8PfDKQLsWEKjtr0oWU6Ls6a07hj_1G8Bj2grdvk,16010
42
+ modal/functions.pyi,sha256=RB5J_KCZknSsZ5TW4Yi-16w-FqlHWuE3w-5DOiiSO3c,16360
43
43
  modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
44
44
  modal/image.py,sha256=ZCghS6l1O7pezXcdMHk6RoJpW3qWszfWGJTW38lNXaU,92797
45
45
  modal/image.pyi,sha256=ddbegF532pDLiVANOJdtJiYoDbbF3mAFrsCiyvIu7jU,25632
@@ -52,7 +52,7 @@ modal/network_file_system.pyi,sha256=C_ZiXmpdkTObapVhAPlRmB4ofmM2D7SdKlUCZVg-1IQ
52
52
  modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
53
53
  modal/object.pyi,sha256=kyJkRQcVv3ct7zSAxvvXcuhBVeH914v80uSlqeS7cA4,5632
54
54
  modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
55
- modal/parallel_map.py,sha256=UAqwhlsMQzhVtc9b2xzwH0__T3auN5tPX0h8a9ZHIMA,35737
55
+ modal/parallel_map.py,sha256=sHx1lZfj7Q5xNk--RrPgClbtu_Qh8XLwehlWHb2IwQM,35689
56
56
  modal/parallel_map.pyi,sha256=bLh_D57e5KOIkmP4WW-C_rMSzfxRUNfdtpNJKj4jWA4,5865
57
57
  modal/partial_function.py,sha256=SwuAAj2wj4SO6F6nkSnwNZrczEmm9w9YdlQTHh6hr04,1195
58
58
  modal/partial_function.pyi,sha256=NFWz1aCAs2B3-GnPf1cTatWRZOLnYpFKCnjP_X9iNRs,6411
@@ -145,7 +145,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
145
145
  modal/requirements/PREVIEW.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
146
146
  modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
147
147
  modal/requirements/base-images.json,sha256=57vMSqzMbLBxw5tFWSaMiIkkVEps4JfX5PAtXGnkS4U,740
148
- modal-0.74.51.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
148
+ modal-0.74.53.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
149
149
  modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
150
150
  modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
151
151
  modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
@@ -153,10 +153,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
153
153
  modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
154
154
  modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
155
155
  modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
156
- modal_proto/api.proto,sha256=r1eiUMvVau4QqFmHrZD5nfQ67d-enn3O83HtGndkuos,94253
156
+ modal_proto/api.proto,sha256=NN11fGCPzQqZ3R6XHe8kkEgl86eOWh09c6wWplkIcT0,94293
157
157
  modal_proto/api_grpc.py,sha256=kTSfs9yI_YtxkPuATpSQ1_Nvd7TtjK03H61RupX1bpM,114421
158
- modal_proto/api_pb2.py,sha256=xJ2zpxvjBC3RI1_GXVcin9upB3SpkN5lh2xIZbvZU9Y,332430
159
- modal_proto/api_pb2.pyi,sha256=HZ2gYP9m94RcGz-cjWfusEkCq05Z5oyzPB1SvE3yE0Q,452052
158
+ modal_proto/api_pb2.py,sha256=EWWs8G_DH4ezUzsNSCRiYCW7TV3J9pM3NDtdcR1N9YA,332519
159
+ modal_proto/api_pb2.pyi,sha256=K05tcHYkl_ZFGK_mfFOxjJ2V1SryTpCng6CkeqOAA0Q,452511
160
160
  modal_proto/api_pb2_grpc.py,sha256=-KPQMzXmTYwgF23_tGpODCVK79iOdV1sRsw5mN-byMw,247448
161
161
  modal_proto/api_pb2_grpc.pyi,sha256=ls1qcby7goTrlE6BluSWpo73cW_ajvh3rOe41azMBWM,57929
162
162
  modal_proto/modal_api_grpc.py,sha256=X-sgFt2CYE5cahn41gc0oDNfK0sWIOs7AlmHUWKMB1k,15234
@@ -170,9 +170,9 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
170
170
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
171
171
  modal_version/__init__.py,sha256=m94xZNWIjH8oUtJk4l9xfovzDJede2o7X-q0MHVECtM,470
172
172
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
173
- modal_version/_version_generated.py,sha256=XWG6Z6Rycy47HH88imPv1R6cURBY7Kq4Khuy3MbKuh4,149
174
- modal-0.74.51.dist-info/METADATA,sha256=ub5SsraMgh2uqk6809lzYrCsp0T6NEke1jYNdAsUezQ,2451
175
- modal-0.74.51.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
176
- modal-0.74.51.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
177
- modal-0.74.51.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
178
- modal-0.74.51.dist-info/RECORD,,
173
+ modal_version/_version_generated.py,sha256=dOZz3ZFdnpOr2hUmFEfsoIrf0JYzaXBHbU96sIwcpNo,149
174
+ modal-0.74.53.dist-info/METADATA,sha256=zMWScwZ1llUOIrcr09t2ymZiVsHBI6q5hfX5muJwnUM,2451
175
+ modal-0.74.53.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
176
+ modal-0.74.53.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
177
+ modal-0.74.53.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
178
+ modal-0.74.53.dist-info/RECORD,,
modal_proto/api.proto CHANGED
@@ -1653,6 +1653,7 @@ message FunctionHandleMetadata {
1653
1653
  // Mapping of method names to their metadata, only non-empty for class service functions
1654
1654
  map<string, FunctionHandleMetadata> method_handle_metadata = 44;
1655
1655
  FunctionSchema function_schema = 45;
1656
+ optional string input_plane_url = 46;
1656
1657
  }
1657
1658
 
1658
1659
  message FunctionInput {