modal 1.1.5.dev10__tar.gz → 1.1.5.dev12__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.5.dev10 → modal-1.1.5.dev12}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/PKG-INFO +1 -1
  4. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api.proto +12 -0
  5. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api_grpc.py +16 -0
  6. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api_pb2.py +882 -862
  7. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api_pb2.pyi +34 -0
  8. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api_pb2_grpc.py +33 -0
  9. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/api_pb2_grpc.pyi +10 -0
  10. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/modal_api_grpc.py +1 -0
  11. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_version/__init__.py +1 -1
  12. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/LICENSE +0 -0
  13. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/README.md +0 -0
  14. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/__init__.py +0 -0
  15. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/__main__.py +0 -0
  16. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_clustered_functions.py +0 -0
  17. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_functions.py +0 -0
  20. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_ipython.py +0 -0
  21. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_location.py +0 -0
  22. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_object.py +0 -0
  23. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_output.py +0 -0
  24. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_partial_function.py +0 -0
  25. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_pty.py +0 -0
  26. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_resolver.py +0 -0
  27. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_resources.py +0 -0
  28. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/__init__.py +0 -0
  29. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/asgi.py +0 -0
  30. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/container_io_manager.py +0 -0
  31. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/container_io_manager.pyi +0 -0
  32. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/execution_context.py +0 -0
  33. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/execution_context.pyi +0 -0
  34. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  35. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/telemetry.py +0 -0
  36. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_runtime/user_code_imports.py +0 -0
  37. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_serialization.py +0 -0
  38. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_traceback.py +0 -0
  39. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_tunnel.py +0 -0
  40. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_tunnel.pyi +0 -0
  41. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_type_manager.py +0 -0
  42. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/__init__.py +0 -0
  43. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/app_utils.py +0 -0
  44. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/async_utils.py +0 -0
  45. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/auth_token_manager.py +0 -0
  46. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/blob_utils.py +0 -0
  47. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/bytes_io_segment_payload.py +0 -0
  48. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/deprecation.py +0 -0
  49. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/docker_utils.py +0 -0
  50. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/function_utils.py +0 -0
  51. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/git_utils.py +0 -0
  52. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/grpc_testing.py +0 -0
  53. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/grpc_utils.py +0 -0
  54. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/hash_utils.py +0 -0
  55. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/http_utils.py +0 -0
  56. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/jwt_utils.py +0 -0
  57. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/logger.py +0 -0
  58. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/mount_utils.py +0 -0
  59. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/name_utils.py +0 -0
  60. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/package_utils.py +0 -0
  61. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/pattern_utils.py +0 -0
  62. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/rand_pb_testing.py +0 -0
  63. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/shell_utils.py +0 -0
  64. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_utils/time_utils.py +0 -0
  65. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_vendor/__init__.py +0 -0
  66. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  67. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_vendor/cloudpickle.py +0 -0
  68. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_vendor/tblib.py +0 -0
  69. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/_watcher.py +0 -0
  70. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/app.py +0 -0
  71. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/app.pyi +0 -0
  72. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/2023.12.312.txt +0 -0
  73. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/2023.12.txt +0 -0
  74. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/2024.04.txt +0 -0
  75. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/2024.10.txt +0 -0
  76. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/2025.06.txt +0 -0
  77. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/PREVIEW.txt +0 -0
  78. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/README.md +0 -0
  79. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/builder/base-images.json +0 -0
  80. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/call_graph.py +0 -0
  81. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/__init__.py +0 -0
  82. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/_download.py +0 -0
  83. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/_traceback.py +0 -0
  84. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/app.py +0 -0
  85. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/cluster.py +0 -0
  86. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/config.py +0 -0
  87. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/container.py +0 -0
  88. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/dict.py +0 -0
  89. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/entry_point.py +0 -0
  90. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/environment.py +0 -0
  91. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/import_refs.py +0 -0
  92. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/launch.py +0 -0
  93. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/network_file_system.py +0 -0
  94. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/profile.py +0 -0
  95. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/programs/__init__.py +0 -0
  96. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/programs/launch_instance_ssh.py +0 -0
  97. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/programs/run_jupyter.py +0 -0
  98. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/programs/run_marimo.py +0 -0
  99. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/programs/vscode.py +0 -0
  100. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/queues.py +0 -0
  101. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/run.py +0 -0
  102. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/secret.py +0 -0
  103. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/token.py +0 -0
  104. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/utils.py +0 -0
  105. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cli/volume.py +0 -0
  106. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/client.py +0 -0
  107. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cloud_bucket_mount.py +0 -0
  108. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cloud_bucket_mount.pyi +0 -0
  109. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cls.py +0 -0
  110. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/cls.pyi +0 -0
  111. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/config.py +0 -0
  112. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/container_process.py +0 -0
  113. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/container_process.pyi +0 -0
  114. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/dict.py +0 -0
  115. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/dict.pyi +0 -0
  116. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/environments.py +0 -0
  117. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/environments.pyi +0 -0
  118. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/exception.py +0 -0
  119. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/experimental/__init__.py +0 -0
  120. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/experimental/flash.py +0 -0
  121. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/experimental/flash.pyi +0 -0
  122. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/experimental/ipython.py +0 -0
  123. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/file_io.py +0 -0
  124. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/file_io.pyi +0 -0
  125. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/file_pattern_matcher.py +0 -0
  126. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/functions.py +0 -0
  127. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/functions.pyi +0 -0
  128. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/gpu.py +0 -0
  129. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/image.py +0 -0
  130. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/image.pyi +0 -0
  131. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/io_streams.py +0 -0
  132. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/io_streams.pyi +0 -0
  133. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/mount.py +0 -0
  134. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/mount.pyi +0 -0
  135. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/network_file_system.py +0 -0
  136. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/network_file_system.pyi +0 -0
  137. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/object.py +0 -0
  138. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/object.pyi +0 -0
  139. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/output.py +0 -0
  140. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/parallel_map.py +0 -0
  141. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/parallel_map.pyi +0 -0
  142. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/partial_function.py +0 -0
  143. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/partial_function.pyi +0 -0
  144. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/proxy.py +0 -0
  145. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/proxy.pyi +0 -0
  146. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/py.typed +0 -0
  147. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/queue.py +0 -0
  148. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/queue.pyi +0 -0
  149. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/retries.py +0 -0
  150. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/runner.py +0 -0
  151. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/runner.pyi +0 -0
  152. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/running_app.py +0 -0
  153. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/sandbox.py +0 -0
  154. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/sandbox.pyi +0 -0
  155. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/schedule.py +0 -0
  156. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/scheduler_placement.py +0 -0
  157. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/secret.py +0 -0
  158. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/secret.pyi +0 -0
  159. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/serving.py +0 -0
  160. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/serving.pyi +0 -0
  161. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/snapshot.py +0 -0
  162. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/snapshot.pyi +0 -0
  163. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/stream_type.py +0 -0
  164. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/token_flow.py +0 -0
  165. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/token_flow.pyi +0 -0
  166. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/volume.py +0 -0
  167. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal/volume.pyi +0 -0
  168. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/SOURCES.txt +0 -0
  169. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/dependency_links.txt +0 -0
  170. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/entry_points.txt +0 -0
  171. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/requires.txt +0 -0
  172. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal.egg-info/top_level.txt +0 -0
  173. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/__init__.py +0 -0
  174. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/gen_cli_docs.py +0 -0
  175. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/gen_reference_docs.py +0 -0
  176. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/mdmd/__init__.py +0 -0
  177. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/mdmd/mdmd.py +0 -0
  178. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_docs/mdmd/signatures.py +0 -0
  179. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/__init__.py +0 -0
  180. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/modal_version/__main__.py +0 -0
  189. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/pyproject.toml +0 -0
  190. {modal-1.1.5.dev10 → modal-1.1.5.dev12}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev10
3
+ Version: 1.1.5.dev12
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.5.dev10",
36
+ version: str = "1.1.5.dev12",
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.5.dev10",
167
+ version: str = "1.1.5.dev12",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev10
3
+ Version: 1.1.5.dev12
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -642,6 +642,7 @@ message AutoscalerSettings {
642
642
  optional uint32 scaleup_window = 4;
643
643
  // Maximum amount of time a container can be idle before being scaled down, in seconds; pka "container_idle_timeout"
644
644
  optional uint32 scaledown_window = 5;
645
+ reserved 6;
645
646
  }
646
647
 
647
648
  // Used for flash autoscaling
@@ -2661,6 +2662,16 @@ message Sandbox {
2661
2662
  optional uint32 idle_timeout_secs = 33;
2662
2663
  }
2663
2664
 
2665
+ message SandboxCreateConnectCredentialsRequest {
2666
+ string sandbox_id = 1;
2667
+ string metadata = 2;
2668
+ }
2669
+
2670
+ message SandboxCreateConnectCredentialsResponse {
2671
+ string url = 1;
2672
+ string token = 2;
2673
+ }
2674
+
2664
2675
  message SandboxCreateRequest {
2665
2676
  string app_id = 1 [ (modal.options.audit_target_attr) = true ];
2666
2677
  Sandbox definition = 2;
@@ -3606,6 +3617,7 @@ service ModalClient {
3606
3617
 
3607
3618
  // Sandboxes
3608
3619
  rpc SandboxCreate(SandboxCreateRequest) returns (SandboxCreateResponse);
3620
+ rpc SandboxCreateConnectCredentials(SandboxCreateConnectCredentialsRequest) returns (SandboxCreateConnectCredentialsResponse);
3609
3621
  rpc SandboxGetFromName(SandboxGetFromNameRequest) returns (SandboxGetFromNameResponse);
3610
3622
  rpc SandboxGetLogs(SandboxGetLogsRequest) returns (stream TaskLogsBatch);
3611
3623
  rpc SandboxGetResourceUsage(SandboxGetResourceUsageRequest) returns (SandboxGetResourceUsageResponse);
@@ -466,6 +466,10 @@ class ModalClientBase(abc.ABC):
466
466
  async def SandboxCreate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxCreateRequest, modal_proto.api_pb2.SandboxCreateResponse]') -> None:
467
467
  pass
468
468
 
469
+ @abc.abstractmethod
470
+ async def SandboxCreateConnectCredentials(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxCreateConnectCredentialsRequest, modal_proto.api_pb2.SandboxCreateConnectCredentialsResponse]') -> None:
471
+ pass
472
+
469
473
  @abc.abstractmethod
470
474
  async def SandboxGetFromName(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxGetFromNameRequest, modal_proto.api_pb2.SandboxGetFromNameResponse]') -> None:
471
475
  pass
@@ -1364,6 +1368,12 @@ class ModalClientBase(abc.ABC):
1364
1368
  modal_proto.api_pb2.SandboxCreateRequest,
1365
1369
  modal_proto.api_pb2.SandboxCreateResponse,
1366
1370
  ),
1371
+ '/modal.client.ModalClient/SandboxCreateConnectCredentials': grpclib.const.Handler(
1372
+ self.SandboxCreateConnectCredentials,
1373
+ grpclib.const.Cardinality.UNARY_UNARY,
1374
+ modal_proto.api_pb2.SandboxCreateConnectCredentialsRequest,
1375
+ modal_proto.api_pb2.SandboxCreateConnectCredentialsResponse,
1376
+ ),
1367
1377
  '/modal.client.ModalClient/SandboxGetFromName': grpclib.const.Handler(
1368
1378
  self.SandboxGetFromName,
1369
1379
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2378,6 +2388,12 @@ class ModalClientStub:
2378
2388
  modal_proto.api_pb2.SandboxCreateRequest,
2379
2389
  modal_proto.api_pb2.SandboxCreateResponse,
2380
2390
  )
2391
+ self.SandboxCreateConnectCredentials = grpclib.client.UnaryUnaryMethod(
2392
+ channel,
2393
+ '/modal.client.ModalClient/SandboxCreateConnectCredentials',
2394
+ modal_proto.api_pb2.SandboxCreateConnectCredentialsRequest,
2395
+ modal_proto.api_pb2.SandboxCreateConnectCredentialsResponse,
2396
+ )
2381
2397
  self.SandboxGetFromName = grpclib.client.UnaryUnaryMethod(
2382
2398
  channel,
2383
2399
  '/modal.client.ModalClient/SandboxGetFromName',