modal 1.0.3.dev15__tar.gz → 1.0.3.dev17__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-1.0.3.dev15 → modal-1.0.3.dev17}/PKG-INFO +1 -1
  2. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/client.pyi +2 -2
  3. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/functions.pyi +6 -6
  4. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/volume.py +6 -2
  5. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api.proto +4 -4
  7. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api_pb2.pyi +4 -4
  8. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_version/__init__.py +1 -1
  9. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/LICENSE +0 -0
  10. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/README.md +0 -0
  11. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/__init__.py +0 -0
  12. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/__main__.py +0 -0
  13. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_clustered_functions.py +0 -0
  14. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_clustered_functions.pyi +0 -0
  15. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_container_entrypoint.py +0 -0
  16. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_functions.py +0 -0
  17. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_ipython.py +0 -0
  18. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_location.py +0 -0
  19. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_object.py +0 -0
  20. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_output.py +0 -0
  21. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_partial_function.py +0 -0
  22. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_pty.py +0 -0
  23. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_resolver.py +0 -0
  24. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_resources.py +0 -0
  25. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/__init__.py +0 -0
  26. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/asgi.py +0 -0
  27. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/container_io_manager.py +0 -0
  28. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/container_io_manager.pyi +0 -0
  29. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/execution_context.py +0 -0
  30. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/execution_context.pyi +0 -0
  31. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  32. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/telemetry.py +0 -0
  33. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_runtime/user_code_imports.py +0 -0
  34. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_serialization.py +0 -0
  35. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_traceback.py +0 -0
  36. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_tunnel.py +0 -0
  37. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_tunnel.pyi +0 -0
  38. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_type_manager.py +0 -0
  39. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/__init__.py +0 -0
  40. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/app_utils.py +0 -0
  41. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/async_utils.py +0 -0
  42. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/blob_utils.py +0 -0
  43. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/bytes_io_segment_payload.py +0 -0
  44. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/deprecation.py +0 -0
  45. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/docker_utils.py +0 -0
  46. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/function_utils.py +0 -0
  47. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/git_utils.py +0 -0
  48. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/grpc_testing.py +0 -0
  49. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/grpc_utils.py +0 -0
  50. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/hash_utils.py +0 -0
  51. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/http_utils.py +0 -0
  52. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/jwt_utils.py +0 -0
  53. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/logger.py +0 -0
  54. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/mount_utils.py +0 -0
  55. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/name_utils.py +0 -0
  56. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/package_utils.py +0 -0
  57. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/pattern_utils.py +0 -0
  58. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/rand_pb_testing.py +0 -0
  59. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/shell_utils.py +0 -0
  60. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_utils/time_utils.py +0 -0
  61. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_vendor/__init__.py +0 -0
  62. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  63. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_vendor/cloudpickle.py +0 -0
  64. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_vendor/tblib.py +0 -0
  65. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/_watcher.py +0 -0
  66. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/app.py +0 -0
  67. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/app.pyi +0 -0
  68. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/call_graph.py +0 -0
  69. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/__init__.py +0 -0
  70. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/_download.py +0 -0
  71. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/_traceback.py +0 -0
  72. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/app.py +0 -0
  73. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/cluster.py +0 -0
  74. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/config.py +0 -0
  75. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/container.py +0 -0
  76. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/dict.py +0 -0
  77. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/entry_point.py +0 -0
  78. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/environment.py +0 -0
  79. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/import_refs.py +0 -0
  80. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/launch.py +0 -0
  81. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/network_file_system.py +0 -0
  82. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/profile.py +0 -0
  83. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/programs/__init__.py +0 -0
  84. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/programs/run_jupyter.py +0 -0
  85. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/programs/vscode.py +0 -0
  86. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/queues.py +0 -0
  87. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/run.py +0 -0
  88. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/secret.py +0 -0
  89. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/token.py +0 -0
  90. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/utils.py +0 -0
  91. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cli/volume.py +0 -0
  92. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/client.py +0 -0
  93. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cloud_bucket_mount.py +0 -0
  94. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cloud_bucket_mount.pyi +0 -0
  95. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cls.py +0 -0
  96. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/cls.pyi +0 -0
  97. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/config.py +0 -0
  98. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/container_process.py +0 -0
  99. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/container_process.pyi +0 -0
  100. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/dict.py +0 -0
  101. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/dict.pyi +0 -0
  102. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/environments.py +0 -0
  103. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/environments.pyi +0 -0
  104. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/exception.py +0 -0
  105. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/experimental/__init__.py +0 -0
  106. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/experimental/ipython.py +0 -0
  107. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/file_io.py +0 -0
  108. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/file_io.pyi +0 -0
  109. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/file_pattern_matcher.py +0 -0
  110. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/functions.py +0 -0
  111. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/gpu.py +0 -0
  112. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/image.py +0 -0
  113. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/image.pyi +0 -0
  114. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/io_streams.py +0 -0
  115. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/io_streams.pyi +0 -0
  116. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/mount.py +0 -0
  117. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/mount.pyi +0 -0
  118. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/network_file_system.py +0 -0
  119. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/network_file_system.pyi +0 -0
  120. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/object.py +0 -0
  121. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/object.pyi +0 -0
  122. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/output.py +0 -0
  123. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/parallel_map.py +0 -0
  124. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/parallel_map.pyi +0 -0
  125. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/partial_function.py +0 -0
  126. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/partial_function.pyi +0 -0
  127. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/proxy.py +0 -0
  128. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/proxy.pyi +0 -0
  129. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/py.typed +0 -0
  130. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/queue.py +0 -0
  131. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/queue.pyi +0 -0
  132. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/2023.12.312.txt +0 -0
  133. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/2023.12.txt +0 -0
  134. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/2024.04.txt +0 -0
  135. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/2024.10.txt +0 -0
  136. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/PREVIEW.txt +0 -0
  137. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/README.md +0 -0
  138. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/requirements/base-images.json +0 -0
  139. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/retries.py +0 -0
  140. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/runner.py +0 -0
  141. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/runner.pyi +0 -0
  142. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/running_app.py +0 -0
  143. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/sandbox.py +0 -0
  144. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/sandbox.pyi +0 -0
  145. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/schedule.py +0 -0
  146. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/scheduler_placement.py +0 -0
  147. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/secret.py +0 -0
  148. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/secret.pyi +0 -0
  149. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/serving.py +0 -0
  150. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/serving.pyi +0 -0
  151. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/snapshot.py +0 -0
  152. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/snapshot.pyi +0 -0
  153. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/stream_type.py +0 -0
  154. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/token_flow.py +0 -0
  155. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/token_flow.pyi +0 -0
  156. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal/volume.pyi +0 -0
  157. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/SOURCES.txt +0 -0
  158. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/dependency_links.txt +0 -0
  159. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/entry_points.txt +0 -0
  160. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/requires.txt +0 -0
  161. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal.egg-info/top_level.txt +0 -0
  162. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/__init__.py +0 -0
  163. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/gen_cli_docs.py +0 -0
  164. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/gen_reference_docs.py +0 -0
  165. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/mdmd/__init__.py +0 -0
  166. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/mdmd/mdmd.py +0 -0
  167. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_docs/mdmd/signatures.py +0 -0
  168. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/__init__.py +0 -0
  169. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api_grpc.py +0 -0
  170. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api_pb2.py +0 -0
  171. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options.proto +0 -0
  176. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options_grpc.py +0 -0
  177. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options_pb2.py +0 -0
  178. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_proto/py.typed +0 -0
  182. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/modal_version/__main__.py +0 -0
  183. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/pyproject.toml +0 -0
  184. {modal-1.0.3.dev15 → modal-1.0.3.dev17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev15
3
+ Version: 1.0.3.dev17
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[tuple[str, str]],
34
- version: str = "1.0.3.dev15",
34
+ version: str = "1.0.3.dev17",
35
35
  ): ...
36
36
  def is_closed(self) -> bool: ...
37
37
  @property
@@ -94,7 +94,7 @@ class Client:
94
94
  server_url: str,
95
95
  client_type: int,
96
96
  credentials: typing.Optional[tuple[str, str]],
97
- version: str = "1.0.3.dev15",
97
+ version: str = "1.0.3.dev17",
98
98
  ): ...
99
99
  def is_closed(self) -> bool: ...
100
100
  @property
@@ -227,11 +227,11 @@ class Function(
227
227
 
228
228
  _call_generator: ___call_generator_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
 
@@ -567,8 +567,12 @@ class _Volume(_Object, type_prefix="vo"):
567
567
  like `os.rename()` and then `commit()` the volume. The `copy_files()` method is useful when you don't have
568
568
  the volume mounted as a filesystem, e.g. when running a script on your local computer.
569
569
  """
570
- request = api_pb2.VolumeCopyFilesRequest(volume_id=self.object_id, src_paths=src_paths, dst_path=dst_path)
571
- await retry_transient_errors(self._client.stub.VolumeCopyFiles, request, base_delay=1)
570
+ if self._is_v1:
571
+ request = api_pb2.VolumeCopyFilesRequest(volume_id=self.object_id, src_paths=src_paths, dst_path=dst_path)
572
+ await retry_transient_errors(self._client.stub.VolumeCopyFiles, request, base_delay=1)
573
+ else:
574
+ request = api_pb2.VolumeCopyFiles2Request(volume_id=self.object_id, src_paths=src_paths, dst_path=dst_path)
575
+ await retry_transient_errors(self._client.stub.VolumeCopyFiles2, request, base_delay=1)
572
576
 
573
577
  @live_method
574
578
  async def batch_upload(self, force: bool = False) -> "_AbstractVolumeUploadContextManager":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.3.dev15
3
+ Version: 1.0.3.dev17
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1957,11 +1957,11 @@ message ImageMetadata {
1957
1957
  // package name -> version. Empty if missing
1958
1958
  map<string, string> python_packages = 2;
1959
1959
 
1960
- // The working directory of the image, defaulting to "/". Not set if missing.
1960
+ // The working directory of the image, as an absolute file path.
1961
1961
  //
1962
- // Note that this is NOT the actual working directory of the image, especially
1963
- // for runner tasks. Please see `ImageManifest.workdir` instead. This field
1964
- // should not be used in any future code.
1962
+ // For most images, this is not set, which means to use the default workdir:
1963
+ // - On function runners, the default is `/root` (home directory).
1964
+ // - For image builds and sandbox environments, it is `/`.
1965
1965
  optional string workdir = 3;
1966
1966
 
1967
1967
  // The version of glibc in this image, if any.
@@ -6313,11 +6313,11 @@ class ImageMetadata(google.protobuf.message.Message):
6313
6313
  package name -> version. Empty if missing
6314
6314
  """
6315
6315
  workdir: builtins.str
6316
- """The working directory of the image, defaulting to "/". Not set if missing.
6316
+ """The working directory of the image, as an absolute file path.
6317
6317
 
6318
- Note that this is NOT the actual working directory of the image, especially
6319
- for runner tasks. Please see `ImageManifest.workdir` instead. This field
6320
- should not be used in any future code.
6318
+ For most images, this is not set, which means to use the default workdir:
6319
+ - On function runners, the default is `/root` (home directory).
6320
+ - For image builds and sandbox environments, it is `/`.
6321
6321
  """
6322
6322
  libc_version_info: builtins.str
6323
6323
  """The version of glibc in this image, if any."""
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.0.3.dev15"
4
+ __version__ = "1.0.3.dev17"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes