modal 0.74.52__tar.gz → 0.74.53__tar.gz

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.
Files changed (183) hide show
  1. {modal-0.74.52 → modal-0.74.53}/PKG-INFO +1 -1
  2. {modal-0.74.52 → modal-0.74.53}/modal/_functions.py +9 -0
  3. {modal-0.74.52 → modal-0.74.53}/modal/client.pyi +2 -2
  4. {modal-0.74.52 → modal-0.74.53}/modal/functions.pyi +6 -0
  5. {modal-0.74.52 → modal-0.74.53}/modal/parallel_map.py +1 -3
  6. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-0.74.52 → modal-0.74.53}/modal_version/_version_generated.py +1 -1
  8. {modal-0.74.52 → modal-0.74.53}/LICENSE +0 -0
  9. {modal-0.74.52 → modal-0.74.53}/README.md +0 -0
  10. {modal-0.74.52 → modal-0.74.53}/modal/__init__.py +0 -0
  11. {modal-0.74.52 → modal-0.74.53}/modal/__main__.py +0 -0
  12. {modal-0.74.52 → modal-0.74.53}/modal/_clustered_functions.py +0 -0
  13. {modal-0.74.52 → modal-0.74.53}/modal/_clustered_functions.pyi +0 -0
  14. {modal-0.74.52 → modal-0.74.53}/modal/_container_entrypoint.py +0 -0
  15. {modal-0.74.52 → modal-0.74.53}/modal/_ipython.py +0 -0
  16. {modal-0.74.52 → modal-0.74.53}/modal/_location.py +0 -0
  17. {modal-0.74.52 → modal-0.74.53}/modal/_object.py +0 -0
  18. {modal-0.74.52 → modal-0.74.53}/modal/_output.py +0 -0
  19. {modal-0.74.52 → modal-0.74.53}/modal/_partial_function.py +0 -0
  20. {modal-0.74.52 → modal-0.74.53}/modal/_pty.py +0 -0
  21. {modal-0.74.52 → modal-0.74.53}/modal/_resolver.py +0 -0
  22. {modal-0.74.52 → modal-0.74.53}/modal/_resources.py +0 -0
  23. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/__init__.py +0 -0
  24. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/asgi.py +0 -0
  25. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/execution_context.py +0 -0
  28. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/telemetry.py +0 -0
  31. {modal-0.74.52 → modal-0.74.53}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-0.74.52 → modal-0.74.53}/modal/_serialization.py +0 -0
  33. {modal-0.74.52 → modal-0.74.53}/modal/_traceback.py +0 -0
  34. {modal-0.74.52 → modal-0.74.53}/modal/_tunnel.py +0 -0
  35. {modal-0.74.52 → modal-0.74.53}/modal/_tunnel.pyi +0 -0
  36. {modal-0.74.52 → modal-0.74.53}/modal/_type_manager.py +0 -0
  37. {modal-0.74.52 → modal-0.74.53}/modal/_utils/__init__.py +0 -0
  38. {modal-0.74.52 → modal-0.74.53}/modal/_utils/app_utils.py +0 -0
  39. {modal-0.74.52 → modal-0.74.53}/modal/_utils/async_utils.py +0 -0
  40. {modal-0.74.52 → modal-0.74.53}/modal/_utils/blob_utils.py +0 -0
  41. {modal-0.74.52 → modal-0.74.53}/modal/_utils/bytes_io_segment_payload.py +0 -0
  42. {modal-0.74.52 → modal-0.74.53}/modal/_utils/deprecation.py +0 -0
  43. {modal-0.74.52 → modal-0.74.53}/modal/_utils/docker_utils.py +0 -0
  44. {modal-0.74.52 → modal-0.74.53}/modal/_utils/function_utils.py +0 -0
  45. {modal-0.74.52 → modal-0.74.53}/modal/_utils/git_utils.py +0 -0
  46. {modal-0.74.52 → modal-0.74.53}/modal/_utils/grpc_testing.py +0 -0
  47. {modal-0.74.52 → modal-0.74.53}/modal/_utils/grpc_utils.py +0 -0
  48. {modal-0.74.52 → modal-0.74.53}/modal/_utils/hash_utils.py +0 -0
  49. {modal-0.74.52 → modal-0.74.53}/modal/_utils/http_utils.py +0 -0
  50. {modal-0.74.52 → modal-0.74.53}/modal/_utils/jwt_utils.py +0 -0
  51. {modal-0.74.52 → modal-0.74.53}/modal/_utils/logger.py +0 -0
  52. {modal-0.74.52 → modal-0.74.53}/modal/_utils/mount_utils.py +0 -0
  53. {modal-0.74.52 → modal-0.74.53}/modal/_utils/name_utils.py +0 -0
  54. {modal-0.74.52 → modal-0.74.53}/modal/_utils/package_utils.py +0 -0
  55. {modal-0.74.52 → modal-0.74.53}/modal/_utils/pattern_utils.py +0 -0
  56. {modal-0.74.52 → modal-0.74.53}/modal/_utils/rand_pb_testing.py +0 -0
  57. {modal-0.74.52 → modal-0.74.53}/modal/_utils/shell_utils.py +0 -0
  58. {modal-0.74.52 → modal-0.74.53}/modal/_vendor/__init__.py +0 -0
  59. {modal-0.74.52 → modal-0.74.53}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  60. {modal-0.74.52 → modal-0.74.53}/modal/_vendor/cloudpickle.py +0 -0
  61. {modal-0.74.52 → modal-0.74.53}/modal/_vendor/tblib.py +0 -0
  62. {modal-0.74.52 → modal-0.74.53}/modal/_watcher.py +0 -0
  63. {modal-0.74.52 → modal-0.74.53}/modal/app.py +0 -0
  64. {modal-0.74.52 → modal-0.74.53}/modal/app.pyi +0 -0
  65. {modal-0.74.52 → modal-0.74.53}/modal/call_graph.py +0 -0
  66. {modal-0.74.52 → modal-0.74.53}/modal/cli/__init__.py +0 -0
  67. {modal-0.74.52 → modal-0.74.53}/modal/cli/_download.py +0 -0
  68. {modal-0.74.52 → modal-0.74.53}/modal/cli/_traceback.py +0 -0
  69. {modal-0.74.52 → modal-0.74.53}/modal/cli/app.py +0 -0
  70. {modal-0.74.52 → modal-0.74.53}/modal/cli/config.py +0 -0
  71. {modal-0.74.52 → modal-0.74.53}/modal/cli/container.py +0 -0
  72. {modal-0.74.52 → modal-0.74.53}/modal/cli/dict.py +0 -0
  73. {modal-0.74.52 → modal-0.74.53}/modal/cli/entry_point.py +0 -0
  74. {modal-0.74.52 → modal-0.74.53}/modal/cli/environment.py +0 -0
  75. {modal-0.74.52 → modal-0.74.53}/modal/cli/import_refs.py +0 -0
  76. {modal-0.74.52 → modal-0.74.53}/modal/cli/launch.py +0 -0
  77. {modal-0.74.52 → modal-0.74.53}/modal/cli/network_file_system.py +0 -0
  78. {modal-0.74.52 → modal-0.74.53}/modal/cli/profile.py +0 -0
  79. {modal-0.74.52 → modal-0.74.53}/modal/cli/programs/__init__.py +0 -0
  80. {modal-0.74.52 → modal-0.74.53}/modal/cli/programs/run_jupyter.py +0 -0
  81. {modal-0.74.52 → modal-0.74.53}/modal/cli/programs/vscode.py +0 -0
  82. {modal-0.74.52 → modal-0.74.53}/modal/cli/queues.py +0 -0
  83. {modal-0.74.52 → modal-0.74.53}/modal/cli/run.py +0 -0
  84. {modal-0.74.52 → modal-0.74.53}/modal/cli/secret.py +0 -0
  85. {modal-0.74.52 → modal-0.74.53}/modal/cli/token.py +0 -0
  86. {modal-0.74.52 → modal-0.74.53}/modal/cli/utils.py +0 -0
  87. {modal-0.74.52 → modal-0.74.53}/modal/cli/volume.py +0 -0
  88. {modal-0.74.52 → modal-0.74.53}/modal/client.py +0 -0
  89. {modal-0.74.52 → modal-0.74.53}/modal/cloud_bucket_mount.py +0 -0
  90. {modal-0.74.52 → modal-0.74.53}/modal/cloud_bucket_mount.pyi +0 -0
  91. {modal-0.74.52 → modal-0.74.53}/modal/cls.py +0 -0
  92. {modal-0.74.52 → modal-0.74.53}/modal/cls.pyi +0 -0
  93. {modal-0.74.52 → modal-0.74.53}/modal/config.py +0 -0
  94. {modal-0.74.52 → modal-0.74.53}/modal/container_process.py +0 -0
  95. {modal-0.74.52 → modal-0.74.53}/modal/container_process.pyi +0 -0
  96. {modal-0.74.52 → modal-0.74.53}/modal/dict.py +0 -0
  97. {modal-0.74.52 → modal-0.74.53}/modal/dict.pyi +0 -0
  98. {modal-0.74.52 → modal-0.74.53}/modal/environments.py +0 -0
  99. {modal-0.74.52 → modal-0.74.53}/modal/environments.pyi +0 -0
  100. {modal-0.74.52 → modal-0.74.53}/modal/exception.py +0 -0
  101. {modal-0.74.52 → modal-0.74.53}/modal/experimental/__init__.py +0 -0
  102. {modal-0.74.52 → modal-0.74.53}/modal/experimental/ipython.py +0 -0
  103. {modal-0.74.52 → modal-0.74.53}/modal/file_io.py +0 -0
  104. {modal-0.74.52 → modal-0.74.53}/modal/file_io.pyi +0 -0
  105. {modal-0.74.52 → modal-0.74.53}/modal/file_pattern_matcher.py +0 -0
  106. {modal-0.74.52 → modal-0.74.53}/modal/functions.py +0 -0
  107. {modal-0.74.52 → modal-0.74.53}/modal/gpu.py +0 -0
  108. {modal-0.74.52 → modal-0.74.53}/modal/image.py +0 -0
  109. {modal-0.74.52 → modal-0.74.53}/modal/image.pyi +0 -0
  110. {modal-0.74.52 → modal-0.74.53}/modal/io_streams.py +0 -0
  111. {modal-0.74.52 → modal-0.74.53}/modal/io_streams.pyi +0 -0
  112. {modal-0.74.52 → modal-0.74.53}/modal/mount.py +0 -0
  113. {modal-0.74.52 → modal-0.74.53}/modal/mount.pyi +0 -0
  114. {modal-0.74.52 → modal-0.74.53}/modal/network_file_system.py +0 -0
  115. {modal-0.74.52 → modal-0.74.53}/modal/network_file_system.pyi +0 -0
  116. {modal-0.74.52 → modal-0.74.53}/modal/object.py +0 -0
  117. {modal-0.74.52 → modal-0.74.53}/modal/object.pyi +0 -0
  118. {modal-0.74.52 → modal-0.74.53}/modal/output.py +0 -0
  119. {modal-0.74.52 → modal-0.74.53}/modal/parallel_map.pyi +0 -0
  120. {modal-0.74.52 → modal-0.74.53}/modal/partial_function.py +0 -0
  121. {modal-0.74.52 → modal-0.74.53}/modal/partial_function.pyi +0 -0
  122. {modal-0.74.52 → modal-0.74.53}/modal/proxy.py +0 -0
  123. {modal-0.74.52 → modal-0.74.53}/modal/proxy.pyi +0 -0
  124. {modal-0.74.52 → modal-0.74.53}/modal/py.typed +0 -0
  125. {modal-0.74.52 → modal-0.74.53}/modal/queue.py +0 -0
  126. {modal-0.74.52 → modal-0.74.53}/modal/queue.pyi +0 -0
  127. {modal-0.74.52 → modal-0.74.53}/modal/requirements/2023.12.312.txt +0 -0
  128. {modal-0.74.52 → modal-0.74.53}/modal/requirements/2023.12.txt +0 -0
  129. {modal-0.74.52 → modal-0.74.53}/modal/requirements/2024.04.txt +0 -0
  130. {modal-0.74.52 → modal-0.74.53}/modal/requirements/2024.10.txt +0 -0
  131. {modal-0.74.52 → modal-0.74.53}/modal/requirements/PREVIEW.txt +0 -0
  132. {modal-0.74.52 → modal-0.74.53}/modal/requirements/README.md +0 -0
  133. {modal-0.74.52 → modal-0.74.53}/modal/requirements/base-images.json +0 -0
  134. {modal-0.74.52 → modal-0.74.53}/modal/retries.py +0 -0
  135. {modal-0.74.52 → modal-0.74.53}/modal/runner.py +0 -0
  136. {modal-0.74.52 → modal-0.74.53}/modal/runner.pyi +0 -0
  137. {modal-0.74.52 → modal-0.74.53}/modal/running_app.py +0 -0
  138. {modal-0.74.52 → modal-0.74.53}/modal/sandbox.py +0 -0
  139. {modal-0.74.52 → modal-0.74.53}/modal/sandbox.pyi +0 -0
  140. {modal-0.74.52 → modal-0.74.53}/modal/schedule.py +0 -0
  141. {modal-0.74.52 → modal-0.74.53}/modal/scheduler_placement.py +0 -0
  142. {modal-0.74.52 → modal-0.74.53}/modal/secret.py +0 -0
  143. {modal-0.74.52 → modal-0.74.53}/modal/secret.pyi +0 -0
  144. {modal-0.74.52 → modal-0.74.53}/modal/serving.py +0 -0
  145. {modal-0.74.52 → modal-0.74.53}/modal/serving.pyi +0 -0
  146. {modal-0.74.52 → modal-0.74.53}/modal/snapshot.py +0 -0
  147. {modal-0.74.52 → modal-0.74.53}/modal/snapshot.pyi +0 -0
  148. {modal-0.74.52 → modal-0.74.53}/modal/stream_type.py +0 -0
  149. {modal-0.74.52 → modal-0.74.53}/modal/token_flow.py +0 -0
  150. {modal-0.74.52 → modal-0.74.53}/modal/token_flow.pyi +0 -0
  151. {modal-0.74.52 → modal-0.74.53}/modal/volume.py +0 -0
  152. {modal-0.74.52 → modal-0.74.53}/modal/volume.pyi +0 -0
  153. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/SOURCES.txt +0 -0
  154. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/dependency_links.txt +0 -0
  155. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/entry_points.txt +0 -0
  156. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/requires.txt +0 -0
  157. {modal-0.74.52 → modal-0.74.53}/modal.egg-info/top_level.txt +0 -0
  158. {modal-0.74.52 → modal-0.74.53}/modal_docs/__init__.py +0 -0
  159. {modal-0.74.52 → modal-0.74.53}/modal_docs/gen_cli_docs.py +0 -0
  160. {modal-0.74.52 → modal-0.74.53}/modal_docs/gen_reference_docs.py +0 -0
  161. {modal-0.74.52 → modal-0.74.53}/modal_docs/mdmd/__init__.py +0 -0
  162. {modal-0.74.52 → modal-0.74.53}/modal_docs/mdmd/mdmd.py +0 -0
  163. {modal-0.74.52 → modal-0.74.53}/modal_docs/mdmd/signatures.py +0 -0
  164. {modal-0.74.52 → modal-0.74.53}/modal_proto/__init__.py +0 -0
  165. {modal-0.74.52 → modal-0.74.53}/modal_proto/api.proto +0 -0
  166. {modal-0.74.52 → modal-0.74.53}/modal_proto/api_grpc.py +0 -0
  167. {modal-0.74.52 → modal-0.74.53}/modal_proto/api_pb2.py +0 -0
  168. {modal-0.74.52 → modal-0.74.53}/modal_proto/api_pb2.pyi +0 -0
  169. {modal-0.74.52 → modal-0.74.53}/modal_proto/api_pb2_grpc.py +0 -0
  170. {modal-0.74.52 → modal-0.74.53}/modal_proto/api_pb2_grpc.pyi +0 -0
  171. {modal-0.74.52 → modal-0.74.53}/modal_proto/modal_api_grpc.py +0 -0
  172. {modal-0.74.52 → modal-0.74.53}/modal_proto/modal_options_grpc.py +0 -0
  173. {modal-0.74.52 → modal-0.74.53}/modal_proto/options.proto +0 -0
  174. {modal-0.74.52 → modal-0.74.53}/modal_proto/options_grpc.py +0 -0
  175. {modal-0.74.52 → modal-0.74.53}/modal_proto/options_pb2.py +0 -0
  176. {modal-0.74.52 → modal-0.74.53}/modal_proto/options_pb2.pyi +0 -0
  177. {modal-0.74.52 → modal-0.74.53}/modal_proto/options_pb2_grpc.py +0 -0
  178. {modal-0.74.52 → modal-0.74.53}/modal_proto/options_pb2_grpc.pyi +0 -0
  179. {modal-0.74.52 → modal-0.74.53}/modal_proto/py.typed +0 -0
  180. {modal-0.74.52 → modal-0.74.53}/modal_version/__init__.py +0 -0
  181. {modal-0.74.52 → modal-0.74.53}/modal_version/__main__.py +0 -0
  182. {modal-0.74.52 → modal-0.74.53}/pyproject.toml +0 -0
  183. {modal-0.74.52 → modal-0.74.53}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.52
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
@@ -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]":
@@ -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.52"
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.52"
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
@@ -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]: ...
@@ -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.52
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
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 52 # git: 191bebc
4
+ build_number = 53 # git: 50e5d04
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes