modal 0.74.60__tar.gz → 0.74.61__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.60 → modal-0.74.61}/PKG-INFO +1 -1
  2. {modal-0.74.60 → modal-0.74.61}/modal/client.pyi +2 -2
  3. {modal-0.74.60 → modal-0.74.61}/modal/dict.py +13 -2
  4. {modal-0.74.60 → modal-0.74.61}/modal/functions.pyi +6 -6
  5. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-0.74.60 → modal-0.74.61}/modal_version/_version_generated.py +1 -1
  7. {modal-0.74.60 → modal-0.74.61}/LICENSE +0 -0
  8. {modal-0.74.60 → modal-0.74.61}/README.md +0 -0
  9. {modal-0.74.60 → modal-0.74.61}/modal/__init__.py +0 -0
  10. {modal-0.74.60 → modal-0.74.61}/modal/__main__.py +0 -0
  11. {modal-0.74.60 → modal-0.74.61}/modal/_clustered_functions.py +0 -0
  12. {modal-0.74.60 → modal-0.74.61}/modal/_clustered_functions.pyi +0 -0
  13. {modal-0.74.60 → modal-0.74.61}/modal/_container_entrypoint.py +0 -0
  14. {modal-0.74.60 → modal-0.74.61}/modal/_functions.py +0 -0
  15. {modal-0.74.60 → modal-0.74.61}/modal/_ipython.py +0 -0
  16. {modal-0.74.60 → modal-0.74.61}/modal/_location.py +0 -0
  17. {modal-0.74.60 → modal-0.74.61}/modal/_object.py +0 -0
  18. {modal-0.74.60 → modal-0.74.61}/modal/_output.py +0 -0
  19. {modal-0.74.60 → modal-0.74.61}/modal/_partial_function.py +0 -0
  20. {modal-0.74.60 → modal-0.74.61}/modal/_pty.py +0 -0
  21. {modal-0.74.60 → modal-0.74.61}/modal/_resolver.py +0 -0
  22. {modal-0.74.60 → modal-0.74.61}/modal/_resources.py +0 -0
  23. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/__init__.py +0 -0
  24. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/asgi.py +0 -0
  25. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/execution_context.py +0 -0
  28. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/telemetry.py +0 -0
  31. {modal-0.74.60 → modal-0.74.61}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-0.74.60 → modal-0.74.61}/modal/_serialization.py +0 -0
  33. {modal-0.74.60 → modal-0.74.61}/modal/_traceback.py +0 -0
  34. {modal-0.74.60 → modal-0.74.61}/modal/_tunnel.py +0 -0
  35. {modal-0.74.60 → modal-0.74.61}/modal/_tunnel.pyi +0 -0
  36. {modal-0.74.60 → modal-0.74.61}/modal/_type_manager.py +0 -0
  37. {modal-0.74.60 → modal-0.74.61}/modal/_utils/__init__.py +0 -0
  38. {modal-0.74.60 → modal-0.74.61}/modal/_utils/app_utils.py +0 -0
  39. {modal-0.74.60 → modal-0.74.61}/modal/_utils/async_utils.py +0 -0
  40. {modal-0.74.60 → modal-0.74.61}/modal/_utils/blob_utils.py +0 -0
  41. {modal-0.74.60 → modal-0.74.61}/modal/_utils/bytes_io_segment_payload.py +0 -0
  42. {modal-0.74.60 → modal-0.74.61}/modal/_utils/deprecation.py +0 -0
  43. {modal-0.74.60 → modal-0.74.61}/modal/_utils/docker_utils.py +0 -0
  44. {modal-0.74.60 → modal-0.74.61}/modal/_utils/function_utils.py +0 -0
  45. {modal-0.74.60 → modal-0.74.61}/modal/_utils/git_utils.py +0 -0
  46. {modal-0.74.60 → modal-0.74.61}/modal/_utils/grpc_testing.py +0 -0
  47. {modal-0.74.60 → modal-0.74.61}/modal/_utils/grpc_utils.py +0 -0
  48. {modal-0.74.60 → modal-0.74.61}/modal/_utils/hash_utils.py +0 -0
  49. {modal-0.74.60 → modal-0.74.61}/modal/_utils/http_utils.py +0 -0
  50. {modal-0.74.60 → modal-0.74.61}/modal/_utils/jwt_utils.py +0 -0
  51. {modal-0.74.60 → modal-0.74.61}/modal/_utils/logger.py +0 -0
  52. {modal-0.74.60 → modal-0.74.61}/modal/_utils/mount_utils.py +0 -0
  53. {modal-0.74.60 → modal-0.74.61}/modal/_utils/name_utils.py +0 -0
  54. {modal-0.74.60 → modal-0.74.61}/modal/_utils/package_utils.py +0 -0
  55. {modal-0.74.60 → modal-0.74.61}/modal/_utils/pattern_utils.py +0 -0
  56. {modal-0.74.60 → modal-0.74.61}/modal/_utils/rand_pb_testing.py +0 -0
  57. {modal-0.74.60 → modal-0.74.61}/modal/_utils/shell_utils.py +0 -0
  58. {modal-0.74.60 → modal-0.74.61}/modal/_vendor/__init__.py +0 -0
  59. {modal-0.74.60 → modal-0.74.61}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  60. {modal-0.74.60 → modal-0.74.61}/modal/_vendor/cloudpickle.py +0 -0
  61. {modal-0.74.60 → modal-0.74.61}/modal/_vendor/tblib.py +0 -0
  62. {modal-0.74.60 → modal-0.74.61}/modal/_watcher.py +0 -0
  63. {modal-0.74.60 → modal-0.74.61}/modal/app.py +0 -0
  64. {modal-0.74.60 → modal-0.74.61}/modal/app.pyi +0 -0
  65. {modal-0.74.60 → modal-0.74.61}/modal/call_graph.py +0 -0
  66. {modal-0.74.60 → modal-0.74.61}/modal/cli/__init__.py +0 -0
  67. {modal-0.74.60 → modal-0.74.61}/modal/cli/_download.py +0 -0
  68. {modal-0.74.60 → modal-0.74.61}/modal/cli/_traceback.py +0 -0
  69. {modal-0.74.60 → modal-0.74.61}/modal/cli/app.py +0 -0
  70. {modal-0.74.60 → modal-0.74.61}/modal/cli/cluster.py +0 -0
  71. {modal-0.74.60 → modal-0.74.61}/modal/cli/config.py +0 -0
  72. {modal-0.74.60 → modal-0.74.61}/modal/cli/container.py +0 -0
  73. {modal-0.74.60 → modal-0.74.61}/modal/cli/dict.py +0 -0
  74. {modal-0.74.60 → modal-0.74.61}/modal/cli/entry_point.py +0 -0
  75. {modal-0.74.60 → modal-0.74.61}/modal/cli/environment.py +0 -0
  76. {modal-0.74.60 → modal-0.74.61}/modal/cli/import_refs.py +0 -0
  77. {modal-0.74.60 → modal-0.74.61}/modal/cli/launch.py +0 -0
  78. {modal-0.74.60 → modal-0.74.61}/modal/cli/network_file_system.py +0 -0
  79. {modal-0.74.60 → modal-0.74.61}/modal/cli/profile.py +0 -0
  80. {modal-0.74.60 → modal-0.74.61}/modal/cli/programs/__init__.py +0 -0
  81. {modal-0.74.60 → modal-0.74.61}/modal/cli/programs/run_jupyter.py +0 -0
  82. {modal-0.74.60 → modal-0.74.61}/modal/cli/programs/vscode.py +0 -0
  83. {modal-0.74.60 → modal-0.74.61}/modal/cli/queues.py +0 -0
  84. {modal-0.74.60 → modal-0.74.61}/modal/cli/run.py +0 -0
  85. {modal-0.74.60 → modal-0.74.61}/modal/cli/secret.py +0 -0
  86. {modal-0.74.60 → modal-0.74.61}/modal/cli/token.py +0 -0
  87. {modal-0.74.60 → modal-0.74.61}/modal/cli/utils.py +0 -0
  88. {modal-0.74.60 → modal-0.74.61}/modal/cli/volume.py +0 -0
  89. {modal-0.74.60 → modal-0.74.61}/modal/client.py +0 -0
  90. {modal-0.74.60 → modal-0.74.61}/modal/cloud_bucket_mount.py +0 -0
  91. {modal-0.74.60 → modal-0.74.61}/modal/cloud_bucket_mount.pyi +0 -0
  92. {modal-0.74.60 → modal-0.74.61}/modal/cls.py +0 -0
  93. {modal-0.74.60 → modal-0.74.61}/modal/cls.pyi +0 -0
  94. {modal-0.74.60 → modal-0.74.61}/modal/config.py +0 -0
  95. {modal-0.74.60 → modal-0.74.61}/modal/container_process.py +0 -0
  96. {modal-0.74.60 → modal-0.74.61}/modal/container_process.pyi +0 -0
  97. {modal-0.74.60 → modal-0.74.61}/modal/dict.pyi +0 -0
  98. {modal-0.74.60 → modal-0.74.61}/modal/environments.py +0 -0
  99. {modal-0.74.60 → modal-0.74.61}/modal/environments.pyi +0 -0
  100. {modal-0.74.60 → modal-0.74.61}/modal/exception.py +0 -0
  101. {modal-0.74.60 → modal-0.74.61}/modal/experimental/__init__.py +0 -0
  102. {modal-0.74.60 → modal-0.74.61}/modal/experimental/ipython.py +0 -0
  103. {modal-0.74.60 → modal-0.74.61}/modal/file_io.py +0 -0
  104. {modal-0.74.60 → modal-0.74.61}/modal/file_io.pyi +0 -0
  105. {modal-0.74.60 → modal-0.74.61}/modal/file_pattern_matcher.py +0 -0
  106. {modal-0.74.60 → modal-0.74.61}/modal/functions.py +0 -0
  107. {modal-0.74.60 → modal-0.74.61}/modal/gpu.py +0 -0
  108. {modal-0.74.60 → modal-0.74.61}/modal/image.py +0 -0
  109. {modal-0.74.60 → modal-0.74.61}/modal/image.pyi +0 -0
  110. {modal-0.74.60 → modal-0.74.61}/modal/io_streams.py +0 -0
  111. {modal-0.74.60 → modal-0.74.61}/modal/io_streams.pyi +0 -0
  112. {modal-0.74.60 → modal-0.74.61}/modal/mount.py +0 -0
  113. {modal-0.74.60 → modal-0.74.61}/modal/mount.pyi +0 -0
  114. {modal-0.74.60 → modal-0.74.61}/modal/network_file_system.py +0 -0
  115. {modal-0.74.60 → modal-0.74.61}/modal/network_file_system.pyi +0 -0
  116. {modal-0.74.60 → modal-0.74.61}/modal/object.py +0 -0
  117. {modal-0.74.60 → modal-0.74.61}/modal/object.pyi +0 -0
  118. {modal-0.74.60 → modal-0.74.61}/modal/output.py +0 -0
  119. {modal-0.74.60 → modal-0.74.61}/modal/parallel_map.py +0 -0
  120. {modal-0.74.60 → modal-0.74.61}/modal/parallel_map.pyi +0 -0
  121. {modal-0.74.60 → modal-0.74.61}/modal/partial_function.py +0 -0
  122. {modal-0.74.60 → modal-0.74.61}/modal/partial_function.pyi +0 -0
  123. {modal-0.74.60 → modal-0.74.61}/modal/proxy.py +0 -0
  124. {modal-0.74.60 → modal-0.74.61}/modal/proxy.pyi +0 -0
  125. {modal-0.74.60 → modal-0.74.61}/modal/py.typed +0 -0
  126. {modal-0.74.60 → modal-0.74.61}/modal/queue.py +0 -0
  127. {modal-0.74.60 → modal-0.74.61}/modal/queue.pyi +0 -0
  128. {modal-0.74.60 → modal-0.74.61}/modal/requirements/2023.12.312.txt +0 -0
  129. {modal-0.74.60 → modal-0.74.61}/modal/requirements/2023.12.txt +0 -0
  130. {modal-0.74.60 → modal-0.74.61}/modal/requirements/2024.04.txt +0 -0
  131. {modal-0.74.60 → modal-0.74.61}/modal/requirements/2024.10.txt +0 -0
  132. {modal-0.74.60 → modal-0.74.61}/modal/requirements/PREVIEW.txt +0 -0
  133. {modal-0.74.60 → modal-0.74.61}/modal/requirements/README.md +0 -0
  134. {modal-0.74.60 → modal-0.74.61}/modal/requirements/base-images.json +0 -0
  135. {modal-0.74.60 → modal-0.74.61}/modal/retries.py +0 -0
  136. {modal-0.74.60 → modal-0.74.61}/modal/runner.py +0 -0
  137. {modal-0.74.60 → modal-0.74.61}/modal/runner.pyi +0 -0
  138. {modal-0.74.60 → modal-0.74.61}/modal/running_app.py +0 -0
  139. {modal-0.74.60 → modal-0.74.61}/modal/sandbox.py +0 -0
  140. {modal-0.74.60 → modal-0.74.61}/modal/sandbox.pyi +0 -0
  141. {modal-0.74.60 → modal-0.74.61}/modal/schedule.py +0 -0
  142. {modal-0.74.60 → modal-0.74.61}/modal/scheduler_placement.py +0 -0
  143. {modal-0.74.60 → modal-0.74.61}/modal/secret.py +0 -0
  144. {modal-0.74.60 → modal-0.74.61}/modal/secret.pyi +0 -0
  145. {modal-0.74.60 → modal-0.74.61}/modal/serving.py +0 -0
  146. {modal-0.74.60 → modal-0.74.61}/modal/serving.pyi +0 -0
  147. {modal-0.74.60 → modal-0.74.61}/modal/snapshot.py +0 -0
  148. {modal-0.74.60 → modal-0.74.61}/modal/snapshot.pyi +0 -0
  149. {modal-0.74.60 → modal-0.74.61}/modal/stream_type.py +0 -0
  150. {modal-0.74.60 → modal-0.74.61}/modal/token_flow.py +0 -0
  151. {modal-0.74.60 → modal-0.74.61}/modal/token_flow.pyi +0 -0
  152. {modal-0.74.60 → modal-0.74.61}/modal/volume.py +0 -0
  153. {modal-0.74.60 → modal-0.74.61}/modal/volume.pyi +0 -0
  154. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/SOURCES.txt +0 -0
  155. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/dependency_links.txt +0 -0
  156. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/entry_points.txt +0 -0
  157. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/requires.txt +0 -0
  158. {modal-0.74.60 → modal-0.74.61}/modal.egg-info/top_level.txt +0 -0
  159. {modal-0.74.60 → modal-0.74.61}/modal_docs/__init__.py +0 -0
  160. {modal-0.74.60 → modal-0.74.61}/modal_docs/gen_cli_docs.py +0 -0
  161. {modal-0.74.60 → modal-0.74.61}/modal_docs/gen_reference_docs.py +0 -0
  162. {modal-0.74.60 → modal-0.74.61}/modal_docs/mdmd/__init__.py +0 -0
  163. {modal-0.74.60 → modal-0.74.61}/modal_docs/mdmd/mdmd.py +0 -0
  164. {modal-0.74.60 → modal-0.74.61}/modal_docs/mdmd/signatures.py +0 -0
  165. {modal-0.74.60 → modal-0.74.61}/modal_proto/__init__.py +0 -0
  166. {modal-0.74.60 → modal-0.74.61}/modal_proto/api.proto +0 -0
  167. {modal-0.74.60 → modal-0.74.61}/modal_proto/api_grpc.py +0 -0
  168. {modal-0.74.60 → modal-0.74.61}/modal_proto/api_pb2.py +0 -0
  169. {modal-0.74.60 → modal-0.74.61}/modal_proto/api_pb2.pyi +0 -0
  170. {modal-0.74.60 → modal-0.74.61}/modal_proto/api_pb2_grpc.py +0 -0
  171. {modal-0.74.60 → modal-0.74.61}/modal_proto/api_pb2_grpc.pyi +0 -0
  172. {modal-0.74.60 → modal-0.74.61}/modal_proto/modal_api_grpc.py +0 -0
  173. {modal-0.74.60 → modal-0.74.61}/modal_proto/modal_options_grpc.py +0 -0
  174. {modal-0.74.60 → modal-0.74.61}/modal_proto/options.proto +0 -0
  175. {modal-0.74.60 → modal-0.74.61}/modal_proto/options_grpc.py +0 -0
  176. {modal-0.74.60 → modal-0.74.61}/modal_proto/options_pb2.py +0 -0
  177. {modal-0.74.60 → modal-0.74.61}/modal_proto/options_pb2.pyi +0 -0
  178. {modal-0.74.60 → modal-0.74.61}/modal_proto/options_pb2_grpc.py +0 -0
  179. {modal-0.74.60 → modal-0.74.61}/modal_proto/options_pb2_grpc.pyi +0 -0
  180. {modal-0.74.60 → modal-0.74.61}/modal_proto/py.typed +0 -0
  181. {modal-0.74.60 → modal-0.74.61}/modal_version/__init__.py +0 -0
  182. {modal-0.74.60 → modal-0.74.61}/modal_version/__main__.py +0 -0
  183. {modal-0.74.60 → modal-0.74.61}/pyproject.toml +0 -0
  184. {modal-0.74.60 → modal-0.74.61}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 0.74.60
3
+ Version: 0.74.61
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -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.60"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.61"
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.60"
89
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.61"
90
90
  ): ...
91
91
  def is_closed(self) -> bool: ...
92
92
  @property
@@ -73,7 +73,7 @@ class _Dict(_Object, type_prefix="di"):
73
73
  @asynccontextmanager
74
74
  async def ephemeral(
75
75
  cls: type["_Dict"],
76
- data: Optional[dict] = None,
76
+ data: Optional[dict] = None, # DEPRECATED
77
77
  client: Optional[_Client] = None,
78
78
  environment_name: Optional[str] = None,
79
79
  _heartbeat_sleep: float = EPHEMERAL_OBJECT_HEARTBEAT_SLEEP,
@@ -95,6 +95,11 @@ class _Dict(_Object, type_prefix="di"):
95
95
  """
96
96
  if client is None:
97
97
  client = await _Client.from_env()
98
+ if data:
99
+ deprecation_warning(
100
+ (2025, 5, 6),
101
+ "Passing data to `modal.Dict.ephemeral` is deprecated and will stop working in a future release.",
102
+ )
98
103
  serialized = _serialize_dict(data if data is not None else {})
99
104
  request = api_pb2.DictGetOrCreateRequest(
100
105
  object_creation_type=api_pb2.OBJECT_CREATION_TYPE_EPHEMERAL,
@@ -111,7 +116,7 @@ class _Dict(_Object, type_prefix="di"):
111
116
  @renamed_parameter((2024, 12, 18), "label", "name")
112
117
  def from_name(
113
118
  name: str,
114
- data: Optional[dict] = None,
119
+ data: Optional[dict] = None, # DEPRECATED
115
120
  *,
116
121
  namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
117
122
  environment_name: Optional[str] = None,
@@ -130,6 +135,12 @@ class _Dict(_Object, type_prefix="di"):
130
135
  """
131
136
  check_object_name(name, "Dict")
132
137
 
138
+ if data:
139
+ deprecation_warning(
140
+ (2025, 5, 6),
141
+ "Passing data to `modal.Dict.from_name` is deprecated and will stop working in a future release.",
142
+ )
143
+
133
144
  async def _load(self: _Dict, resolver: Resolver, existing_object_id: Optional[str]):
134
145
  serialized = _serialize_dict(data if data is not None else {})
135
146
  req = api_pb2.DictGetOrCreateRequest(
@@ -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[ReturnType_INNER, P_INNER, SUPERSELF]):
230
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_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.ReturnType, modal._functions.P, typing_extensions.Self]
234
+ remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, 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[ReturnType_INNER, P_INNER, SUPERSELF]):
249
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_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.ReturnType, modal._functions.P, typing_extensions.Self
254
+ modal._functions.P, modal._functions.ReturnType, 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[ReturnType_INNER, P_INNER, SUPERSELF]):
263
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_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.ReturnType, modal._functions.P, typing_extensions.Self]
267
+ spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, 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.60
3
+ Version: 0.74.61
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 = 60 # git: 7229b14
4
+ build_number = 61 # git: 7447a11
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
File without changes
File without changes