modal 1.1.5.dev86__tar.gz → 1.1.5.dev87__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.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

Files changed (195) hide show
  1. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/PKG-INFO +1 -1
  4. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/SOURCES.txt +6 -0
  5. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api.proto +15 -0
  6. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api_grpc.py +16 -0
  7. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api_pb2.py +201 -181
  8. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api_pb2.pyi +38 -0
  9. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api_pb2_grpc.py +33 -0
  10. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/api_pb2_grpc.pyi +10 -0
  11. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/modal_api_grpc.py +1 -0
  12. modal-1.1.5.dev87/modal_proto/task_command_router.proto +144 -0
  13. modal-1.1.5.dev87/modal_proto/task_command_router_grpc.py +105 -0
  14. modal-1.1.5.dev87/modal_proto/task_command_router_pb2.py +149 -0
  15. modal-1.1.5.dev87/modal_proto/task_command_router_pb2.pyi +333 -0
  16. modal-1.1.5.dev87/modal_proto/task_command_router_pb2_grpc.py +203 -0
  17. modal-1.1.5.dev87/modal_proto/task_command_router_pb2_grpc.pyi +75 -0
  18. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_version/__init__.py +1 -1
  19. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/LICENSE +0 -0
  20. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/README.md +0 -0
  21. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/__init__.py +0 -0
  22. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/__main__.py +0 -0
  23. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_clustered_functions.py +0 -0
  24. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_clustered_functions.pyi +0 -0
  25. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_container_entrypoint.py +0 -0
  26. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_functions.py +0 -0
  27. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_ipython.py +0 -0
  28. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_location.py +0 -0
  29. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_object.py +0 -0
  30. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_output.py +0 -0
  31. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_partial_function.py +0 -0
  32. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_pty.py +0 -0
  33. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_resolver.py +0 -0
  34. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_resources.py +0 -0
  35. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/__init__.py +0 -0
  36. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/asgi.py +0 -0
  37. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/container_io_manager.py +0 -0
  38. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/container_io_manager.pyi +0 -0
  39. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/execution_context.py +0 -0
  40. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/execution_context.pyi +0 -0
  41. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  42. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/telemetry.py +0 -0
  43. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_runtime/user_code_imports.py +0 -0
  44. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_serialization.py +0 -0
  45. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_traceback.py +0 -0
  46. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_tunnel.py +0 -0
  47. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_tunnel.pyi +0 -0
  48. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_type_manager.py +0 -0
  49. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/__init__.py +0 -0
  50. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/app_utils.py +0 -0
  51. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/async_utils.py +0 -0
  52. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/auth_token_manager.py +0 -0
  53. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/blob_utils.py +0 -0
  54. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/bytes_io_segment_payload.py +0 -0
  55. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/deprecation.py +0 -0
  56. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/docker_utils.py +0 -0
  57. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/function_utils.py +0 -0
  58. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/git_utils.py +0 -0
  59. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/grpc_testing.py +0 -0
  60. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/grpc_utils.py +0 -0
  61. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/hash_utils.py +0 -0
  62. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/http_utils.py +0 -0
  63. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/jwt_utils.py +0 -0
  64. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/logger.py +0 -0
  65. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/mount_utils.py +0 -0
  66. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/name_utils.py +0 -0
  67. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/package_utils.py +0 -0
  68. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/pattern_utils.py +0 -0
  69. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/rand_pb_testing.py +0 -0
  70. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/shell_utils.py +0 -0
  71. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_utils/time_utils.py +0 -0
  72. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_vendor/__init__.py +0 -0
  73. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  74. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_vendor/cloudpickle.py +0 -0
  75. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_vendor/tblib.py +0 -0
  76. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/_watcher.py +0 -0
  77. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/app.py +0 -0
  78. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/app.pyi +0 -0
  79. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/2023.12.312.txt +0 -0
  80. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/2023.12.txt +0 -0
  81. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/2024.04.txt +0 -0
  82. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/2024.10.txt +0 -0
  83. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/2025.06.txt +0 -0
  84. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/PREVIEW.txt +0 -0
  85. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/README.md +0 -0
  86. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/builder/base-images.json +0 -0
  87. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/call_graph.py +0 -0
  88. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/__init__.py +0 -0
  89. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/_download.py +0 -0
  90. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/_traceback.py +0 -0
  91. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/app.py +0 -0
  92. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/cluster.py +0 -0
  93. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/config.py +0 -0
  94. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/container.py +0 -0
  95. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/dict.py +0 -0
  96. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/entry_point.py +0 -0
  97. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/environment.py +0 -0
  98. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/import_refs.py +0 -0
  99. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/launch.py +0 -0
  100. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/network_file_system.py +0 -0
  101. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/profile.py +0 -0
  102. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/programs/__init__.py +0 -0
  103. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/programs/launch_instance_ssh.py +0 -0
  104. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/programs/run_jupyter.py +0 -0
  105. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/programs/run_marimo.py +0 -0
  106. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/programs/vscode.py +0 -0
  107. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/queues.py +0 -0
  108. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/run.py +0 -0
  109. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/secret.py +0 -0
  110. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/token.py +0 -0
  111. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/utils.py +0 -0
  112. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cli/volume.py +0 -0
  113. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/client.py +0 -0
  114. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cloud_bucket_mount.py +0 -0
  115. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cloud_bucket_mount.pyi +0 -0
  116. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cls.py +0 -0
  117. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/cls.pyi +0 -0
  118. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/config.py +0 -0
  119. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/container_process.py +0 -0
  120. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/container_process.pyi +0 -0
  121. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/dict.py +0 -0
  122. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/dict.pyi +0 -0
  123. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/environments.py +0 -0
  124. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/environments.pyi +0 -0
  125. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/exception.py +0 -0
  126. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/experimental/__init__.py +0 -0
  127. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/experimental/flash.py +0 -0
  128. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/experimental/flash.pyi +0 -0
  129. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/experimental/ipython.py +0 -0
  130. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/file_io.py +0 -0
  131. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/file_io.pyi +0 -0
  132. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/file_pattern_matcher.py +0 -0
  133. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/functions.py +0 -0
  134. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/functions.pyi +0 -0
  135. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/gpu.py +0 -0
  136. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/image.py +0 -0
  137. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/image.pyi +0 -0
  138. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/io_streams.py +0 -0
  139. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/io_streams.pyi +0 -0
  140. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/mount.py +0 -0
  141. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/mount.pyi +0 -0
  142. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/network_file_system.py +0 -0
  143. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/network_file_system.pyi +0 -0
  144. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/object.py +0 -0
  145. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/object.pyi +0 -0
  146. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/output.py +0 -0
  147. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/parallel_map.py +0 -0
  148. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/parallel_map.pyi +0 -0
  149. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/partial_function.py +0 -0
  150. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/partial_function.pyi +0 -0
  151. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/proxy.py +0 -0
  152. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/proxy.pyi +0 -0
  153. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/py.typed +0 -0
  154. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/queue.py +0 -0
  155. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/queue.pyi +0 -0
  156. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/retries.py +0 -0
  157. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/runner.py +0 -0
  158. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/runner.pyi +0 -0
  159. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/running_app.py +0 -0
  160. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/sandbox.py +0 -0
  161. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/sandbox.pyi +0 -0
  162. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/schedule.py +0 -0
  163. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/scheduler_placement.py +0 -0
  164. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/secret.py +0 -0
  165. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/secret.pyi +0 -0
  166. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/serving.py +0 -0
  167. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/serving.pyi +0 -0
  168. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/snapshot.py +0 -0
  169. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/snapshot.pyi +0 -0
  170. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/stream_type.py +0 -0
  171. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/token_flow.py +0 -0
  172. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/token_flow.pyi +0 -0
  173. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/volume.py +0 -0
  174. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal/volume.pyi +0 -0
  175. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/dependency_links.txt +0 -0
  176. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/entry_points.txt +0 -0
  177. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/requires.txt +0 -0
  178. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal.egg-info/top_level.txt +0 -0
  179. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/__init__.py +0 -0
  180. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/gen_cli_docs.py +0 -0
  181. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/gen_reference_docs.py +0 -0
  182. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/mdmd/__init__.py +0 -0
  183. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/mdmd/mdmd.py +0 -0
  184. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_docs/mdmd/signatures.py +0 -0
  185. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/__init__.py +0 -0
  186. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/py.typed +0 -0
  187. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router.proto +0 -0
  188. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router_grpc.py +0 -0
  189. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router_pb2.py +0 -0
  190. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router_pb2.pyi +0 -0
  191. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  192. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  193. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/modal_version/__main__.py +0 -0
  194. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/pyproject.toml +0 -0
  195. {modal-1.1.5.dev86 → modal-1.1.5.dev87}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev86
3
+ Version: 1.1.5.dev87
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.dev86",
36
+ version: str = "1.1.5.dev87",
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.dev86",
167
+ version: str = "1.1.5.dev87",
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.dev86
3
+ Version: 1.1.5.dev87
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -183,5 +183,11 @@ modal_proto/sandbox_router_pb2.py
183
183
  modal_proto/sandbox_router_pb2.pyi
184
184
  modal_proto/sandbox_router_pb2_grpc.py
185
185
  modal_proto/sandbox_router_pb2_grpc.pyi
186
+ modal_proto/task_command_router.proto
187
+ modal_proto/task_command_router_grpc.py
188
+ modal_proto/task_command_router_pb2.py
189
+ modal_proto/task_command_router_pb2.pyi
190
+ modal_proto/task_command_router_pb2_grpc.py
191
+ modal_proto/task_command_router_pb2_grpc.pyi
186
192
  modal_version/__init__.py
187
193
  modal_version/__main__.py
@@ -2760,6 +2760,8 @@ message SandboxCreateResponse {
2760
2760
  // Used to get a JWT and URL for direct access to a sandbox router server
2761
2761
  // running on the modal-worker, so the client can issue exec commands (and other
2762
2762
  // operations as they become available) directly to the worker.
2763
+ // DEPRECATED: Use TaskGetCommandRouterAccessRequest instead.
2764
+ // TODO(saltzm): Remove this.
2763
2765
  message SandboxGetCommandRouterAccessRequest {
2764
2766
  string sandbox_id = 1;
2765
2767
  }
@@ -3163,6 +3165,18 @@ message TaskGetAutoscalingMetricsResponse {
3163
3165
  AutoscalingMetrics metrics = 1;
3164
3166
  }
3165
3167
 
3168
+ // Used to get a JWT and URL for direct access to a task command router
3169
+ // running on the modal-worker, so the client can issue exec commands (and other
3170
+ // operations as they become available) directly to the worker.
3171
+ message TaskGetCommandRouterAccessRequest {
3172
+ string task_id = 1;
3173
+ }
3174
+
3175
+ message TaskGetCommandRouterAccessResponse {
3176
+ string jwt = 1;
3177
+ string url = 2;
3178
+ }
3179
+
3166
3180
  message TaskInfo {
3167
3181
  string id = 1;
3168
3182
  double started_at = 2;
@@ -3780,6 +3794,7 @@ service ModalClient {
3780
3794
  rpc TaskClusterHello(TaskClusterHelloRequest) returns (TaskClusterHelloResponse);
3781
3795
  rpc TaskCurrentInputs(google.protobuf.Empty) returns (TaskCurrentInputsResponse);
3782
3796
  rpc TaskGetAutoscalingMetrics(TaskGetAutoscalingMetricsRequest) returns (TaskGetAutoscalingMetricsResponse); // Used for flash autoscaling
3797
+ rpc TaskGetCommandRouterAccess(TaskGetCommandRouterAccessRequest) returns (TaskGetCommandRouterAccessResponse);
3783
3798
  rpc TaskList(TaskListRequest) returns (TaskListResponse);
3784
3799
  rpc TaskResult(TaskResultRequest) returns (google.protobuf.Empty);
3785
3800
 
@@ -618,6 +618,10 @@ class ModalClientBase(abc.ABC):
618
618
  async def TaskGetAutoscalingMetrics(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest, modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse]') -> None:
619
619
  pass
620
620
 
621
+ @abc.abstractmethod
622
+ async def TaskGetCommandRouterAccess(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskGetCommandRouterAccessRequest, modal_proto.api_pb2.TaskGetCommandRouterAccessResponse]') -> None:
623
+ pass
624
+
621
625
  @abc.abstractmethod
622
626
  async def TaskList(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.TaskListRequest, modal_proto.api_pb2.TaskListResponse]') -> None:
623
627
  pass
@@ -1620,6 +1624,12 @@ class ModalClientBase(abc.ABC):
1620
1624
  modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
1621
1625
  modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
1622
1626
  ),
1627
+ '/modal.client.ModalClient/TaskGetCommandRouterAccess': grpclib.const.Handler(
1628
+ self.TaskGetCommandRouterAccess,
1629
+ grpclib.const.Cardinality.UNARY_UNARY,
1630
+ modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
1631
+ modal_proto.api_pb2.TaskGetCommandRouterAccessResponse,
1632
+ ),
1623
1633
  '/modal.client.ModalClient/TaskList': grpclib.const.Handler(
1624
1634
  self.TaskList,
1625
1635
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2676,6 +2686,12 @@ class ModalClientStub:
2676
2686
  modal_proto.api_pb2.TaskGetAutoscalingMetricsRequest,
2677
2687
  modal_proto.api_pb2.TaskGetAutoscalingMetricsResponse,
2678
2688
  )
2689
+ self.TaskGetCommandRouterAccess = grpclib.client.UnaryUnaryMethod(
2690
+ channel,
2691
+ '/modal.client.ModalClient/TaskGetCommandRouterAccess',
2692
+ modal_proto.api_pb2.TaskGetCommandRouterAccessRequest,
2693
+ modal_proto.api_pb2.TaskGetCommandRouterAccessResponse,
2694
+ )
2679
2695
  self.TaskList = grpclib.client.UnaryUnaryMethod(
2680
2696
  channel,
2681
2697
  '/modal.client.ModalClient/TaskList',