modal 0.74.59__tar.gz → 0.74.60__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 (184) hide show
  1. {modal-0.74.59 → modal-0.74.60}/PKG-INFO +2 -2
  2. {modal-0.74.59 → modal-0.74.60}/modal/client.pyi +2 -2
  3. {modal-0.74.59 → modal-0.74.60}/modal/dict.py +10 -3
  4. {modal-0.74.59 → modal-0.74.60}/modal/dict.pyi +3 -3
  5. {modal-0.74.59 → modal-0.74.60}/modal/functions.pyi +6 -6
  6. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/PKG-INFO +2 -2
  7. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/requires.txt +1 -1
  8. {modal-0.74.59 → modal-0.74.60}/modal_version/_version_generated.py +1 -1
  9. {modal-0.74.59 → modal-0.74.60}/pyproject.toml +1 -1
  10. {modal-0.74.59 → modal-0.74.60}/LICENSE +0 -0
  11. {modal-0.74.59 → modal-0.74.60}/README.md +0 -0
  12. {modal-0.74.59 → modal-0.74.60}/modal/__init__.py +0 -0
  13. {modal-0.74.59 → modal-0.74.60}/modal/__main__.py +0 -0
  14. {modal-0.74.59 → modal-0.74.60}/modal/_clustered_functions.py +0 -0
  15. {modal-0.74.59 → modal-0.74.60}/modal/_clustered_functions.pyi +0 -0
  16. {modal-0.74.59 → modal-0.74.60}/modal/_container_entrypoint.py +0 -0
  17. {modal-0.74.59 → modal-0.74.60}/modal/_functions.py +0 -0
  18. {modal-0.74.59 → modal-0.74.60}/modal/_ipython.py +0 -0
  19. {modal-0.74.59 → modal-0.74.60}/modal/_location.py +0 -0
  20. {modal-0.74.59 → modal-0.74.60}/modal/_object.py +0 -0
  21. {modal-0.74.59 → modal-0.74.60}/modal/_output.py +0 -0
  22. {modal-0.74.59 → modal-0.74.60}/modal/_partial_function.py +0 -0
  23. {modal-0.74.59 → modal-0.74.60}/modal/_pty.py +0 -0
  24. {modal-0.74.59 → modal-0.74.60}/modal/_resolver.py +0 -0
  25. {modal-0.74.59 → modal-0.74.60}/modal/_resources.py +0 -0
  26. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/__init__.py +0 -0
  27. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/asgi.py +0 -0
  28. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/container_io_manager.py +0 -0
  29. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/container_io_manager.pyi +0 -0
  30. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/execution_context.py +0 -0
  31. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/execution_context.pyi +0 -0
  32. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  33. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/telemetry.py +0 -0
  34. {modal-0.74.59 → modal-0.74.60}/modal/_runtime/user_code_imports.py +0 -0
  35. {modal-0.74.59 → modal-0.74.60}/modal/_serialization.py +0 -0
  36. {modal-0.74.59 → modal-0.74.60}/modal/_traceback.py +0 -0
  37. {modal-0.74.59 → modal-0.74.60}/modal/_tunnel.py +0 -0
  38. {modal-0.74.59 → modal-0.74.60}/modal/_tunnel.pyi +0 -0
  39. {modal-0.74.59 → modal-0.74.60}/modal/_type_manager.py +0 -0
  40. {modal-0.74.59 → modal-0.74.60}/modal/_utils/__init__.py +0 -0
  41. {modal-0.74.59 → modal-0.74.60}/modal/_utils/app_utils.py +0 -0
  42. {modal-0.74.59 → modal-0.74.60}/modal/_utils/async_utils.py +0 -0
  43. {modal-0.74.59 → modal-0.74.60}/modal/_utils/blob_utils.py +0 -0
  44. {modal-0.74.59 → modal-0.74.60}/modal/_utils/bytes_io_segment_payload.py +0 -0
  45. {modal-0.74.59 → modal-0.74.60}/modal/_utils/deprecation.py +0 -0
  46. {modal-0.74.59 → modal-0.74.60}/modal/_utils/docker_utils.py +0 -0
  47. {modal-0.74.59 → modal-0.74.60}/modal/_utils/function_utils.py +0 -0
  48. {modal-0.74.59 → modal-0.74.60}/modal/_utils/git_utils.py +0 -0
  49. {modal-0.74.59 → modal-0.74.60}/modal/_utils/grpc_testing.py +0 -0
  50. {modal-0.74.59 → modal-0.74.60}/modal/_utils/grpc_utils.py +0 -0
  51. {modal-0.74.59 → modal-0.74.60}/modal/_utils/hash_utils.py +0 -0
  52. {modal-0.74.59 → modal-0.74.60}/modal/_utils/http_utils.py +0 -0
  53. {modal-0.74.59 → modal-0.74.60}/modal/_utils/jwt_utils.py +0 -0
  54. {modal-0.74.59 → modal-0.74.60}/modal/_utils/logger.py +0 -0
  55. {modal-0.74.59 → modal-0.74.60}/modal/_utils/mount_utils.py +0 -0
  56. {modal-0.74.59 → modal-0.74.60}/modal/_utils/name_utils.py +0 -0
  57. {modal-0.74.59 → modal-0.74.60}/modal/_utils/package_utils.py +0 -0
  58. {modal-0.74.59 → modal-0.74.60}/modal/_utils/pattern_utils.py +0 -0
  59. {modal-0.74.59 → modal-0.74.60}/modal/_utils/rand_pb_testing.py +0 -0
  60. {modal-0.74.59 → modal-0.74.60}/modal/_utils/shell_utils.py +0 -0
  61. {modal-0.74.59 → modal-0.74.60}/modal/_vendor/__init__.py +0 -0
  62. {modal-0.74.59 → modal-0.74.60}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  63. {modal-0.74.59 → modal-0.74.60}/modal/_vendor/cloudpickle.py +0 -0
  64. {modal-0.74.59 → modal-0.74.60}/modal/_vendor/tblib.py +0 -0
  65. {modal-0.74.59 → modal-0.74.60}/modal/_watcher.py +0 -0
  66. {modal-0.74.59 → modal-0.74.60}/modal/app.py +0 -0
  67. {modal-0.74.59 → modal-0.74.60}/modal/app.pyi +0 -0
  68. {modal-0.74.59 → modal-0.74.60}/modal/call_graph.py +0 -0
  69. {modal-0.74.59 → modal-0.74.60}/modal/cli/__init__.py +0 -0
  70. {modal-0.74.59 → modal-0.74.60}/modal/cli/_download.py +0 -0
  71. {modal-0.74.59 → modal-0.74.60}/modal/cli/_traceback.py +0 -0
  72. {modal-0.74.59 → modal-0.74.60}/modal/cli/app.py +0 -0
  73. {modal-0.74.59 → modal-0.74.60}/modal/cli/cluster.py +0 -0
  74. {modal-0.74.59 → modal-0.74.60}/modal/cli/config.py +0 -0
  75. {modal-0.74.59 → modal-0.74.60}/modal/cli/container.py +0 -0
  76. {modal-0.74.59 → modal-0.74.60}/modal/cli/dict.py +0 -0
  77. {modal-0.74.59 → modal-0.74.60}/modal/cli/entry_point.py +0 -0
  78. {modal-0.74.59 → modal-0.74.60}/modal/cli/environment.py +0 -0
  79. {modal-0.74.59 → modal-0.74.60}/modal/cli/import_refs.py +0 -0
  80. {modal-0.74.59 → modal-0.74.60}/modal/cli/launch.py +0 -0
  81. {modal-0.74.59 → modal-0.74.60}/modal/cli/network_file_system.py +0 -0
  82. {modal-0.74.59 → modal-0.74.60}/modal/cli/profile.py +0 -0
  83. {modal-0.74.59 → modal-0.74.60}/modal/cli/programs/__init__.py +0 -0
  84. {modal-0.74.59 → modal-0.74.60}/modal/cli/programs/run_jupyter.py +0 -0
  85. {modal-0.74.59 → modal-0.74.60}/modal/cli/programs/vscode.py +0 -0
  86. {modal-0.74.59 → modal-0.74.60}/modal/cli/queues.py +0 -0
  87. {modal-0.74.59 → modal-0.74.60}/modal/cli/run.py +0 -0
  88. {modal-0.74.59 → modal-0.74.60}/modal/cli/secret.py +0 -0
  89. {modal-0.74.59 → modal-0.74.60}/modal/cli/token.py +0 -0
  90. {modal-0.74.59 → modal-0.74.60}/modal/cli/utils.py +0 -0
  91. {modal-0.74.59 → modal-0.74.60}/modal/cli/volume.py +0 -0
  92. {modal-0.74.59 → modal-0.74.60}/modal/client.py +0 -0
  93. {modal-0.74.59 → modal-0.74.60}/modal/cloud_bucket_mount.py +0 -0
  94. {modal-0.74.59 → modal-0.74.60}/modal/cloud_bucket_mount.pyi +0 -0
  95. {modal-0.74.59 → modal-0.74.60}/modal/cls.py +0 -0
  96. {modal-0.74.59 → modal-0.74.60}/modal/cls.pyi +0 -0
  97. {modal-0.74.59 → modal-0.74.60}/modal/config.py +0 -0
  98. {modal-0.74.59 → modal-0.74.60}/modal/container_process.py +0 -0
  99. {modal-0.74.59 → modal-0.74.60}/modal/container_process.pyi +0 -0
  100. {modal-0.74.59 → modal-0.74.60}/modal/environments.py +0 -0
  101. {modal-0.74.59 → modal-0.74.60}/modal/environments.pyi +0 -0
  102. {modal-0.74.59 → modal-0.74.60}/modal/exception.py +0 -0
  103. {modal-0.74.59 → modal-0.74.60}/modal/experimental/__init__.py +0 -0
  104. {modal-0.74.59 → modal-0.74.60}/modal/experimental/ipython.py +0 -0
  105. {modal-0.74.59 → modal-0.74.60}/modal/file_io.py +0 -0
  106. {modal-0.74.59 → modal-0.74.60}/modal/file_io.pyi +0 -0
  107. {modal-0.74.59 → modal-0.74.60}/modal/file_pattern_matcher.py +0 -0
  108. {modal-0.74.59 → modal-0.74.60}/modal/functions.py +0 -0
  109. {modal-0.74.59 → modal-0.74.60}/modal/gpu.py +0 -0
  110. {modal-0.74.59 → modal-0.74.60}/modal/image.py +0 -0
  111. {modal-0.74.59 → modal-0.74.60}/modal/image.pyi +0 -0
  112. {modal-0.74.59 → modal-0.74.60}/modal/io_streams.py +0 -0
  113. {modal-0.74.59 → modal-0.74.60}/modal/io_streams.pyi +0 -0
  114. {modal-0.74.59 → modal-0.74.60}/modal/mount.py +0 -0
  115. {modal-0.74.59 → modal-0.74.60}/modal/mount.pyi +0 -0
  116. {modal-0.74.59 → modal-0.74.60}/modal/network_file_system.py +0 -0
  117. {modal-0.74.59 → modal-0.74.60}/modal/network_file_system.pyi +0 -0
  118. {modal-0.74.59 → modal-0.74.60}/modal/object.py +0 -0
  119. {modal-0.74.59 → modal-0.74.60}/modal/object.pyi +0 -0
  120. {modal-0.74.59 → modal-0.74.60}/modal/output.py +0 -0
  121. {modal-0.74.59 → modal-0.74.60}/modal/parallel_map.py +0 -0
  122. {modal-0.74.59 → modal-0.74.60}/modal/parallel_map.pyi +0 -0
  123. {modal-0.74.59 → modal-0.74.60}/modal/partial_function.py +0 -0
  124. {modal-0.74.59 → modal-0.74.60}/modal/partial_function.pyi +0 -0
  125. {modal-0.74.59 → modal-0.74.60}/modal/proxy.py +0 -0
  126. {modal-0.74.59 → modal-0.74.60}/modal/proxy.pyi +0 -0
  127. {modal-0.74.59 → modal-0.74.60}/modal/py.typed +0 -0
  128. {modal-0.74.59 → modal-0.74.60}/modal/queue.py +0 -0
  129. {modal-0.74.59 → modal-0.74.60}/modal/queue.pyi +0 -0
  130. {modal-0.74.59 → modal-0.74.60}/modal/requirements/2023.12.312.txt +0 -0
  131. {modal-0.74.59 → modal-0.74.60}/modal/requirements/2023.12.txt +0 -0
  132. {modal-0.74.59 → modal-0.74.60}/modal/requirements/2024.04.txt +0 -0
  133. {modal-0.74.59 → modal-0.74.60}/modal/requirements/2024.10.txt +0 -0
  134. {modal-0.74.59 → modal-0.74.60}/modal/requirements/PREVIEW.txt +0 -0
  135. {modal-0.74.59 → modal-0.74.60}/modal/requirements/README.md +0 -0
  136. {modal-0.74.59 → modal-0.74.60}/modal/requirements/base-images.json +0 -0
  137. {modal-0.74.59 → modal-0.74.60}/modal/retries.py +0 -0
  138. {modal-0.74.59 → modal-0.74.60}/modal/runner.py +0 -0
  139. {modal-0.74.59 → modal-0.74.60}/modal/runner.pyi +0 -0
  140. {modal-0.74.59 → modal-0.74.60}/modal/running_app.py +0 -0
  141. {modal-0.74.59 → modal-0.74.60}/modal/sandbox.py +0 -0
  142. {modal-0.74.59 → modal-0.74.60}/modal/sandbox.pyi +0 -0
  143. {modal-0.74.59 → modal-0.74.60}/modal/schedule.py +0 -0
  144. {modal-0.74.59 → modal-0.74.60}/modal/scheduler_placement.py +0 -0
  145. {modal-0.74.59 → modal-0.74.60}/modal/secret.py +0 -0
  146. {modal-0.74.59 → modal-0.74.60}/modal/secret.pyi +0 -0
  147. {modal-0.74.59 → modal-0.74.60}/modal/serving.py +0 -0
  148. {modal-0.74.59 → modal-0.74.60}/modal/serving.pyi +0 -0
  149. {modal-0.74.59 → modal-0.74.60}/modal/snapshot.py +0 -0
  150. {modal-0.74.59 → modal-0.74.60}/modal/snapshot.pyi +0 -0
  151. {modal-0.74.59 → modal-0.74.60}/modal/stream_type.py +0 -0
  152. {modal-0.74.59 → modal-0.74.60}/modal/token_flow.py +0 -0
  153. {modal-0.74.59 → modal-0.74.60}/modal/token_flow.pyi +0 -0
  154. {modal-0.74.59 → modal-0.74.60}/modal/volume.py +0 -0
  155. {modal-0.74.59 → modal-0.74.60}/modal/volume.pyi +0 -0
  156. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/SOURCES.txt +0 -0
  157. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/dependency_links.txt +0 -0
  158. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/entry_points.txt +0 -0
  159. {modal-0.74.59 → modal-0.74.60}/modal.egg-info/top_level.txt +0 -0
  160. {modal-0.74.59 → modal-0.74.60}/modal_docs/__init__.py +0 -0
  161. {modal-0.74.59 → modal-0.74.60}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-0.74.59 → modal-0.74.60}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-0.74.59 → modal-0.74.60}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-0.74.59 → modal-0.74.60}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-0.74.59 → modal-0.74.60}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-0.74.59 → modal-0.74.60}/modal_proto/__init__.py +0 -0
  167. {modal-0.74.59 → modal-0.74.60}/modal_proto/api.proto +0 -0
  168. {modal-0.74.59 → modal-0.74.60}/modal_proto/api_grpc.py +0 -0
  169. {modal-0.74.59 → modal-0.74.60}/modal_proto/api_pb2.py +0 -0
  170. {modal-0.74.59 → modal-0.74.60}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-0.74.59 → modal-0.74.60}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-0.74.59 → modal-0.74.60}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-0.74.59 → modal-0.74.60}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-0.74.59 → modal-0.74.60}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-0.74.59 → modal-0.74.60}/modal_proto/options.proto +0 -0
  176. {modal-0.74.59 → modal-0.74.60}/modal_proto/options_grpc.py +0 -0
  177. {modal-0.74.59 → modal-0.74.60}/modal_proto/options_pb2.py +0 -0
  178. {modal-0.74.59 → modal-0.74.60}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-0.74.59 → modal-0.74.60}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-0.74.59 → modal-0.74.60}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-0.74.59 → modal-0.74.60}/modal_proto/py.typed +0 -0
  182. {modal-0.74.59 → modal-0.74.60}/modal_version/__init__.py +0 -0
  183. {modal-0.74.59 → modal-0.74.60}/modal_version/__main__.py +0 -0
  184. {modal-0.74.59 → modal-0.74.60}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.59
3
+ Version: 0.74.60
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,7 +22,7 @@ Requires-Dist: click>=8.1.0
22
22
  Requires-Dist: grpclib==0.4.7
23
23
  Requires-Dist: protobuf!=4.24.0,<7.0,>=3.19
24
24
  Requires-Dist: rich>=12.0.0
25
- Requires-Dist: synchronicity~=0.9.10
25
+ Requires-Dist: synchronicity~=0.9.12
26
26
  Requires-Dist: toml
27
27
  Requires-Dist: typer>=0.9
28
28
  Requires-Dist: types-certifi
@@ -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.59"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.60"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -86,7 +86,7 @@ class Client:
86
86
  _snapshotted: bool
87
87
 
88
88
  def __init__(
89
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.59"
89
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.60"
90
90
  ): ...
91
91
  def is_closed(self) -> bool: ...
92
92
  @property
@@ -1,5 +1,5 @@
1
1
  # Copyright Modal Labs 2022
2
- from collections.abc import AsyncIterator
2
+ from collections.abc import AsyncIterator, Mapping
3
3
  from typing import Any, Optional
4
4
 
5
5
  from grpclib import GRPCError
@@ -244,9 +244,16 @@ class _Dict(_Object, type_prefix="di"):
244
244
  return value
245
245
 
246
246
  @live_method
247
- async def update(self, **kwargs) -> None:
247
+ async def update(self, other: Optional[Mapping] = None, /, **kwargs) -> None:
248
248
  """Update the dictionary with additional items."""
249
- serialized = _serialize_dict(kwargs)
249
+ # Support the Python dict.update API
250
+ # https://docs.python.org/3/library/stdtypes.html#dict.update
251
+ contents = {}
252
+ if other:
253
+ contents.update({k: other[k] for k in other.keys()})
254
+ if kwargs:
255
+ contents.update(kwargs)
256
+ serialized = _serialize_dict(contents)
250
257
  req = api_pb2.DictUpdateRequest(dict_id=self.object_id, updates=serialized)
251
258
  try:
252
259
  await retry_transient_errors(self._client.stub.DictUpdate, req)
@@ -48,7 +48,7 @@ class _Dict(modal._object._Object):
48
48
  async def contains(self, key: typing.Any) -> bool: ...
49
49
  async def len(self) -> int: ...
50
50
  async def __getitem__(self, key: typing.Any) -> typing.Any: ...
51
- async def update(self, **kwargs) -> None: ...
51
+ async def update(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
52
52
  async def put(self, key: typing.Any, value: typing.Any) -> None: ...
53
53
  async def __setitem__(self, key: typing.Any, value: typing.Any) -> None: ...
54
54
  async def pop(self, key: typing.Any) -> typing.Any: ...
@@ -155,8 +155,8 @@ class Dict(modal.object.Object):
155
155
  __getitem__: ____getitem___spec[typing_extensions.Self]
156
156
 
157
157
  class __update_spec(typing_extensions.Protocol[SUPERSELF]):
158
- def __call__(self, /, **kwargs) -> None: ...
159
- async def aio(self, /, **kwargs) -> None: ...
158
+ def __call__(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
159
+ async def aio(self, other: typing.Optional[collections.abc.Mapping] = None, /, **kwargs) -> None: ...
160
160
 
161
161
  update: __update_spec[typing_extensions.Self]
162
162
 
@@ -227,11 +227,11 @@ class Function(
227
227
 
228
228
  _call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
229
229
 
230
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
230
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
231
231
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
232
232
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
233
233
 
234
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
234
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
235
235
 
236
236
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
237
237
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
@@ -246,12 +246,12 @@ class Function(
246
246
  self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
247
247
  ) -> modal._functions.OriginalReturnType: ...
248
248
 
249
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
249
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
250
250
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
251
251
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
252
252
 
253
253
  _experimental_spawn: ___experimental_spawn_spec[
254
- modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
254
+ modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
255
255
  ]
256
256
 
257
257
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -260,11 +260,11 @@ class Function(
260
260
 
261
261
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
262
262
 
263
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
263
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
264
264
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
265
265
  async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
266
266
 
267
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
267
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
268
268
 
269
269
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
270
270
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.59
3
+ Version: 0.74.60
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -22,7 +22,7 @@ Requires-Dist: click>=8.1.0
22
22
  Requires-Dist: grpclib==0.4.7
23
23
  Requires-Dist: protobuf!=4.24.0,<7.0,>=3.19
24
24
  Requires-Dist: rich>=12.0.0
25
- Requires-Dist: synchronicity~=0.9.10
25
+ Requires-Dist: synchronicity~=0.9.12
26
26
  Requires-Dist: toml
27
27
  Requires-Dist: typer>=0.9
28
28
  Requires-Dist: types-certifi
@@ -4,7 +4,7 @@ click>=8.1.0
4
4
  grpclib==0.4.7
5
5
  protobuf!=4.24.0,<7.0,>=3.19
6
6
  rich>=12.0.0
7
- synchronicity~=0.9.10
7
+ synchronicity~=0.9.12
8
8
  toml
9
9
  typer>=0.9
10
10
  types-certifi
@@ -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 = 59 # git: 57679cb
4
+ build_number = 60 # git: 7229b14
@@ -20,7 +20,7 @@ dependencies = [
20
20
  "grpclib==0.4.7",
21
21
  "protobuf>=3.19,<7.0,!=4.24.0",
22
22
  "rich>=12.0.0",
23
- "synchronicity~=0.9.10",
23
+ "synchronicity~=0.9.12",
24
24
  "toml",
25
25
  "typer>=0.9",
26
26
  "types-certifi",
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