modal 1.1.4.dev22__tar.gz → 1.1.4.dev24__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 (190) hide show
  1. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/PKG-INFO +1 -1
  2. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/client.pyi +2 -2
  3. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/functions.pyi +6 -6
  4. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/sandbox.py +1 -1
  5. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api.proto +17 -0
  7. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api_grpc.py +16 -0
  8. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api_pb2.py +885 -855
  9. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api_pb2.pyi +55 -0
  10. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api_pb2_grpc.py +34 -0
  11. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/api_pb2_grpc.pyi +12 -0
  12. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/modal_api_grpc.py +1 -0
  13. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_version/__init__.py +1 -1
  14. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/LICENSE +0 -0
  15. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/README.md +0 -0
  16. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/__init__.py +0 -0
  17. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/__main__.py +0 -0
  18. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_clustered_functions.py +0 -0
  19. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_clustered_functions.pyi +0 -0
  20. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_container_entrypoint.py +0 -0
  21. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_functions.py +0 -0
  22. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_ipython.py +0 -0
  23. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_location.py +0 -0
  24. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_object.py +0 -0
  25. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_output.py +0 -0
  26. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_partial_function.py +0 -0
  27. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_pty.py +0 -0
  28. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_resolver.py +0 -0
  29. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_resources.py +0 -0
  30. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/__init__.py +0 -0
  31. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/asgi.py +0 -0
  32. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/container_io_manager.py +0 -0
  33. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/container_io_manager.pyi +0 -0
  34. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/execution_context.py +0 -0
  35. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/execution_context.pyi +0 -0
  36. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  37. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/telemetry.py +0 -0
  38. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_runtime/user_code_imports.py +0 -0
  39. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_serialization.py +0 -0
  40. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_traceback.py +0 -0
  41. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_tunnel.py +0 -0
  42. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_tunnel.pyi +0 -0
  43. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_type_manager.py +0 -0
  44. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/__init__.py +0 -0
  45. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/app_utils.py +0 -0
  46. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/async_utils.py +0 -0
  47. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/auth_token_manager.py +0 -0
  48. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/blob_utils.py +0 -0
  49. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/bytes_io_segment_payload.py +0 -0
  50. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/deprecation.py +0 -0
  51. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/docker_utils.py +0 -0
  52. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/function_utils.py +0 -0
  53. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/git_utils.py +0 -0
  54. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/grpc_testing.py +0 -0
  55. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/grpc_utils.py +0 -0
  56. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/hash_utils.py +0 -0
  57. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/http_utils.py +0 -0
  58. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/jwt_utils.py +0 -0
  59. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/logger.py +0 -0
  60. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/mount_utils.py +0 -0
  61. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/name_utils.py +0 -0
  62. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/package_utils.py +0 -0
  63. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/pattern_utils.py +0 -0
  64. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/rand_pb_testing.py +0 -0
  65. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/shell_utils.py +0 -0
  66. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_utils/time_utils.py +0 -0
  67. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_vendor/__init__.py +0 -0
  68. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  69. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_vendor/cloudpickle.py +0 -0
  70. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_vendor/tblib.py +0 -0
  71. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/_watcher.py +0 -0
  72. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/app.py +0 -0
  73. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/app.pyi +0 -0
  74. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/2023.12.312.txt +0 -0
  75. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/2023.12.txt +0 -0
  76. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/2024.04.txt +0 -0
  77. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/2024.10.txt +0 -0
  78. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/2025.06.txt +0 -0
  79. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/PREVIEW.txt +0 -0
  80. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/README.md +0 -0
  81. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/builder/base-images.json +0 -0
  82. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/call_graph.py +0 -0
  83. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/__init__.py +0 -0
  84. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/_download.py +0 -0
  85. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/_traceback.py +0 -0
  86. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/app.py +0 -0
  87. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/cluster.py +0 -0
  88. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/config.py +0 -0
  89. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/container.py +0 -0
  90. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/dict.py +0 -0
  91. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/entry_point.py +0 -0
  92. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/environment.py +0 -0
  93. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/import_refs.py +0 -0
  94. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/launch.py +0 -0
  95. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/network_file_system.py +0 -0
  96. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/profile.py +0 -0
  97. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/programs/__init__.py +0 -0
  98. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/programs/launch_instance_ssh.py +0 -0
  99. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/programs/run_jupyter.py +0 -0
  100. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/programs/run_marimo.py +0 -0
  101. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/programs/vscode.py +0 -0
  102. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/queues.py +0 -0
  103. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/run.py +0 -0
  104. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/secret.py +0 -0
  105. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/token.py +0 -0
  106. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/utils.py +0 -0
  107. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cli/volume.py +0 -0
  108. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/client.py +0 -0
  109. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cloud_bucket_mount.py +0 -0
  110. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cloud_bucket_mount.pyi +0 -0
  111. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cls.py +0 -0
  112. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/cls.pyi +0 -0
  113. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/config.py +0 -0
  114. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/container_process.py +0 -0
  115. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/container_process.pyi +0 -0
  116. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/dict.py +0 -0
  117. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/dict.pyi +0 -0
  118. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/environments.py +0 -0
  119. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/environments.pyi +0 -0
  120. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/exception.py +0 -0
  121. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/experimental/__init__.py +0 -0
  122. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/experimental/flash.py +0 -0
  123. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/experimental/flash.pyi +0 -0
  124. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/experimental/ipython.py +0 -0
  125. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/file_io.py +0 -0
  126. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/file_io.pyi +0 -0
  127. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/file_pattern_matcher.py +0 -0
  128. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/functions.py +0 -0
  129. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/gpu.py +0 -0
  130. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/image.py +0 -0
  131. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/image.pyi +0 -0
  132. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/io_streams.py +0 -0
  133. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/io_streams.pyi +0 -0
  134. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/mount.py +0 -0
  135. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/mount.pyi +0 -0
  136. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/network_file_system.py +0 -0
  137. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/network_file_system.pyi +0 -0
  138. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/object.py +0 -0
  139. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/object.pyi +0 -0
  140. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/output.py +0 -0
  141. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/parallel_map.py +0 -0
  142. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/parallel_map.pyi +0 -0
  143. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/partial_function.py +0 -0
  144. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/partial_function.pyi +0 -0
  145. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/proxy.py +0 -0
  146. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/proxy.pyi +0 -0
  147. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/py.typed +0 -0
  148. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/queue.py +0 -0
  149. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/queue.pyi +0 -0
  150. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/retries.py +0 -0
  151. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/runner.py +0 -0
  152. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/runner.pyi +0 -0
  153. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/running_app.py +0 -0
  154. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/sandbox.pyi +0 -0
  155. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/schedule.py +0 -0
  156. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/scheduler_placement.py +0 -0
  157. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/secret.py +0 -0
  158. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/secret.pyi +0 -0
  159. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/serving.py +0 -0
  160. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/serving.pyi +0 -0
  161. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/snapshot.py +0 -0
  162. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/snapshot.pyi +0 -0
  163. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/stream_type.py +0 -0
  164. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/token_flow.py +0 -0
  165. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/token_flow.pyi +0 -0
  166. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/volume.py +0 -0
  167. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal/volume.pyi +0 -0
  168. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/SOURCES.txt +0 -0
  169. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/dependency_links.txt +0 -0
  170. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/entry_points.txt +0 -0
  171. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/requires.txt +0 -0
  172. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal.egg-info/top_level.txt +0 -0
  173. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/__init__.py +0 -0
  174. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/gen_cli_docs.py +0 -0
  175. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/gen_reference_docs.py +0 -0
  176. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/mdmd/__init__.py +0 -0
  177. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/mdmd/mdmd.py +0 -0
  178. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_docs/mdmd/signatures.py +0 -0
  179. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/__init__.py +0 -0
  180. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options.proto +0 -0
  182. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_proto/py.typed +0 -0
  188. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/modal_version/__main__.py +0 -0
  189. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/pyproject.toml +0 -0
  190. {modal-1.1.4.dev22 → modal-1.1.4.dev24}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.4.dev22
3
+ Version: 1.1.4.dev24
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -33,7 +33,7 @@ class _Client:
33
33
  server_url: str,
34
34
  client_type: int,
35
35
  credentials: typing.Optional[tuple[str, str]],
36
- version: str = "1.1.4.dev22",
36
+ version: str = "1.1.4.dev24",
37
37
  ):
38
38
  """mdmd:hidden
39
39
  The Modal client object is not intended to be instantiated directly by users.
@@ -164,7 +164,7 @@ class Client:
164
164
  server_url: str,
165
165
  client_type: int,
166
166
  credentials: typing.Optional[tuple[str, str]],
167
- version: str = "1.1.4.dev22",
167
+ version: str = "1.1.4.dev24",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -444,7 +444,7 @@ class Function(
444
444
 
445
445
  _call_generator: ___call_generator_spec[typing_extensions.Self]
446
446
 
447
- class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
447
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
448
448
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
449
449
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
450
450
  ...
@@ -453,7 +453,7 @@ class Function(
453
453
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
454
454
  ...
455
455
 
456
- remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
456
+ remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
457
457
 
458
458
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
459
459
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -480,7 +480,7 @@ class Function(
480
480
  """
481
481
  ...
482
482
 
483
- class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
483
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
484
484
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
485
485
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
486
486
 
@@ -504,7 +504,7 @@ class Function(
504
504
  ...
505
505
 
506
506
  _experimental_spawn: ___experimental_spawn_spec[
507
- modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
507
+ modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
508
508
  ]
509
509
 
510
510
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -513,7 +513,7 @@ class Function(
513
513
 
514
514
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
515
515
 
516
- class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
516
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
517
517
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
518
518
  """Calls the function with the given arguments, without waiting for the results.
519
519
 
@@ -534,7 +534,7 @@ class Function(
534
534
  """
535
535
  ...
536
536
 
537
- spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
537
+ spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
538
538
 
539
539
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
540
540
  """Return the inner Python object wrapped by this Modal Function."""
@@ -316,7 +316,7 @@ class _Sandbox(_Object, type_prefix="sb"):
316
316
  if environment_name is not None:
317
317
  deprecation_warning(
318
318
  (2025, 7, 16),
319
- "Passing `environment_name` to `Sandbox.create` is deprecated and will be removed in a future release.",
319
+ "Passing `environment_name` to `Sandbox.create` is deprecated and will be removed in a future release. "
320
320
  "A sandbox's environment is determined by the app it is associated with.",
321
321
  )
322
322
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.4.dev22
3
+ Version: 1.1.4.dev24
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -644,6 +644,14 @@ message AutoscalerSettings {
644
644
  optional uint32 scaledown_window = 5;
645
645
  }
646
646
 
647
+ // Used for flash autoscaling
648
+ message AutoscalingMetrics {
649
+ double cpu_usage_percent = 1;
650
+ double memory_usage_percent = 2;
651
+ uint32 concurrent_requests = 3;
652
+ double timestamp = 4;
653
+ }
654
+
647
655
  message BaseImage {
648
656
  string image_id = 1;
649
657
  string docker_tag = 2;
@@ -3041,6 +3049,14 @@ message TaskCurrentInputsResponse {
3041
3049
  repeated string input_ids = 1;
3042
3050
  }
3043
3051
 
3052
+ message TaskGetAutoscalingMetricsRequest {
3053
+ string task_id = 1;
3054
+ }
3055
+
3056
+ message TaskGetAutoscalingMetricsResponse {
3057
+ AutoscalingMetrics metrics = 1;
3058
+ }
3059
+
3044
3060
  message TaskInfo {
3045
3061
  string id = 1;
3046
3062
  double started_at = 2;
@@ -3627,6 +3643,7 @@ service ModalClient {
3627
3643
  // Tasks
3628
3644
  rpc TaskClusterHello(TaskClusterHelloRequest) returns (TaskClusterHelloResponse);
3629
3645
  rpc TaskCurrentInputs(google.protobuf.Empty) returns (TaskCurrentInputsResponse);
3646
+ rpc TaskGetAutoscalingMetrics(TaskGetAutoscalingMetricsRequest) returns (TaskGetAutoscalingMetricsResponse); // Used for flash autoscaling
3630
3647
  rpc TaskList(TaskListRequest) returns (TaskListResponse);
3631
3648
  rpc TaskResult(TaskResultRequest) returns (google.protobuf.Empty);
3632
3649
 
@@ -590,6 +590,10 @@ class ModalClientBase(abc.ABC):
590
590
  async def TaskCurrentInputs(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.TaskCurrentInputsResponse]') -> None:
591
591
  pass
592
592
 
593
+ @abc.abstractmethod
594
+ async def TaskGetAutoscalingMetrics(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest, modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]') -> None:
595
+ pass
596
+
593
597
  @abc.abstractmethod
594
598
  async def TaskList(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskListRequest, modal_proto.api_pb2.TaskListResponse]') -> None:
595
599
  pass
@@ -1546,6 +1550,12 @@ class ModalClientBase(abc.ABC):
1546
1550
  google.protobuf.empty_pb2.Empty,
1547
1551
  modal_proto.api_pb2.TaskCurrentInputsResponse,
1548
1552
  ),
1553
+ '/modal.client.ModalClient/TaskGetAutoscalingMetrics': grpclib.const.Handler(
1554
+ self.TaskGetAutoscalingMetrics,
1555
+ grpclib.const.Cardinality.UNARY_UNARY,
1556
+ modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
1557
+ modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
1558
+ ),
1549
1559
  '/modal.client.ModalClient/TaskList': grpclib.const.Handler(
1550
1560
  self.TaskList,
1551
1561
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2554,6 +2564,12 @@ class ModalClientStub:
2554
2564
  google.protobuf.empty_pb2.Empty,
2555
2565
  modal_proto.api_pb2.TaskCurrentInputsResponse,
2556
2566
  )
2567
+ self.TaskGetAutoscalingMetrics = grpclib.client.UnaryUnaryMethod(
2568
+ channel,
2569
+ '/modal.client.ModalClient/TaskGetAutoscalingMetrics',
2570
+ modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
2571
+ modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
2572
+ )
2557
2573
  self.TaskList = grpclib.client.UnaryUnaryMethod(
2558
2574
  channel,
2559
2575
  '/modal.client.ModalClient/TaskList',