modal 1.1.5.dev45__tar.gz → 1.1.5.dev46__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 (196) hide show
  1. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/PKG-INFO +1 -1
  4. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api.proto +13 -0
  5. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api_grpc.py +16 -0
  6. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api_pb2.py +343 -323
  7. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api_pb2.pyi +36 -0
  8. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api_pb2_grpc.py +33 -0
  9. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/api_pb2_grpc.pyi +10 -0
  10. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/modal_api_grpc.py +1 -0
  11. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_version/__init__.py +1 -1
  12. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/LICENSE +0 -0
  13. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/README.md +0 -0
  14. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/__init__.py +0 -0
  15. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/__main__.py +0 -0
  16. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_clustered_functions.py +0 -0
  17. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_functions.py +0 -0
  20. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_ipython.py +0 -0
  21. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_location.py +0 -0
  22. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_object.py +0 -0
  23. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_output.py +0 -0
  24. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_partial_function.py +0 -0
  25. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_pty.py +0 -0
  26. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_resolver.py +0 -0
  27. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_resources.py +0 -0
  28. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/__init__.py +0 -0
  29. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/asgi.py +0 -0
  30. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/container_io_manager.py +0 -0
  31. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/container_io_manager.pyi +0 -0
  32. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/execution_context.py +0 -0
  33. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/execution_context.pyi +0 -0
  34. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  35. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/telemetry.py +0 -0
  36. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_runtime/user_code_imports.py +0 -0
  37. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_serialization.py +0 -0
  38. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_traceback.py +0 -0
  39. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_tunnel.py +0 -0
  40. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_tunnel.pyi +0 -0
  41. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_type_manager.py +0 -0
  42. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/__init__.py +0 -0
  43. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/app_utils.py +0 -0
  44. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/async_utils.py +0 -0
  45. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/auth_token_manager.py +0 -0
  46. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/blob_utils.py +0 -0
  47. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/bytes_io_segment_payload.py +0 -0
  48. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/deprecation.py +0 -0
  49. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/docker_utils.py +0 -0
  50. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/function_utils.py +0 -0
  51. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/git_utils.py +0 -0
  52. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/grpc_testing.py +0 -0
  53. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/grpc_utils.py +0 -0
  54. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/hash_utils.py +0 -0
  55. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/http_utils.py +0 -0
  56. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/jwt_utils.py +0 -0
  57. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/logger.py +0 -0
  58. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/mount_utils.py +0 -0
  59. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/name_utils.py +0 -0
  60. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/package_utils.py +0 -0
  61. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/pattern_utils.py +0 -0
  62. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/rand_pb_testing.py +0 -0
  63. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/shell_utils.py +0 -0
  64. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_utils/time_utils.py +0 -0
  65. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_vendor/__init__.py +0 -0
  66. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  67. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_vendor/cloudpickle.py +0 -0
  68. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_vendor/tblib.py +0 -0
  69. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/_watcher.py +0 -0
  70. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/app.py +0 -0
  71. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/app.pyi +0 -0
  72. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/2023.12.312.txt +0 -0
  73. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/2023.12.txt +0 -0
  74. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/2024.04.txt +0 -0
  75. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/2024.10.txt +0 -0
  76. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/2025.06.txt +0 -0
  77. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/PREVIEW.txt +0 -0
  78. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/README.md +0 -0
  79. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/builder/base-images.json +0 -0
  80. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/call_graph.py +0 -0
  81. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/__init__.py +0 -0
  82. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/_download.py +0 -0
  83. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/_traceback.py +0 -0
  84. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/app.py +0 -0
  85. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/cluster.py +0 -0
  86. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/config.py +0 -0
  87. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/container.py +0 -0
  88. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/dict.py +0 -0
  89. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/entry_point.py +0 -0
  90. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/environment.py +0 -0
  91. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/import_refs.py +0 -0
  92. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/launch.py +0 -0
  93. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/network_file_system.py +0 -0
  94. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/profile.py +0 -0
  95. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/programs/__init__.py +0 -0
  96. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/programs/launch_instance_ssh.py +0 -0
  97. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/programs/run_jupyter.py +0 -0
  98. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/programs/run_marimo.py +0 -0
  99. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/programs/vscode.py +0 -0
  100. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/queues.py +0 -0
  101. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/run.py +0 -0
  102. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/secret.py +0 -0
  103. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/token.py +0 -0
  104. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/utils.py +0 -0
  105. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cli/volume.py +0 -0
  106. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/client.py +0 -0
  107. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cloud_bucket_mount.py +0 -0
  108. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cloud_bucket_mount.pyi +0 -0
  109. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cls.py +0 -0
  110. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/cls.pyi +0 -0
  111. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/config.py +0 -0
  112. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/container_process.py +0 -0
  113. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/container_process.pyi +0 -0
  114. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/dict.py +0 -0
  115. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/dict.pyi +0 -0
  116. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/environments.py +0 -0
  117. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/environments.pyi +0 -0
  118. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/exception.py +0 -0
  119. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/experimental/__init__.py +0 -0
  120. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/experimental/flash.py +0 -0
  121. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/experimental/flash.pyi +0 -0
  122. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/experimental/ipython.py +0 -0
  123. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/file_io.py +0 -0
  124. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/file_io.pyi +0 -0
  125. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/file_pattern_matcher.py +0 -0
  126. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/functions.py +0 -0
  127. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/functions.pyi +0 -0
  128. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/gpu.py +0 -0
  129. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/image.py +0 -0
  130. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/image.pyi +0 -0
  131. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/io_streams.py +0 -0
  132. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/io_streams.pyi +0 -0
  133. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/mount.py +0 -0
  134. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/mount.pyi +0 -0
  135. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/network_file_system.py +0 -0
  136. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/network_file_system.pyi +0 -0
  137. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/object.py +0 -0
  138. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/object.pyi +0 -0
  139. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/output.py +0 -0
  140. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/parallel_map.py +0 -0
  141. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/parallel_map.pyi +0 -0
  142. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/partial_function.py +0 -0
  143. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/partial_function.pyi +0 -0
  144. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/proxy.py +0 -0
  145. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/proxy.pyi +0 -0
  146. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/py.typed +0 -0
  147. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/queue.py +0 -0
  148. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/queue.pyi +0 -0
  149. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/retries.py +0 -0
  150. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/runner.py +0 -0
  151. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/runner.pyi +0 -0
  152. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/running_app.py +0 -0
  153. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/sandbox.py +0 -0
  154. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/sandbox.pyi +0 -0
  155. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/schedule.py +0 -0
  156. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/scheduler_placement.py +0 -0
  157. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/secret.py +0 -0
  158. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/secret.pyi +0 -0
  159. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/serving.py +0 -0
  160. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/serving.pyi +0 -0
  161. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/snapshot.py +0 -0
  162. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/snapshot.pyi +0 -0
  163. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/stream_type.py +0 -0
  164. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/token_flow.py +0 -0
  165. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/token_flow.pyi +0 -0
  166. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/volume.py +0 -0
  167. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal/volume.pyi +0 -0
  168. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/SOURCES.txt +0 -0
  169. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/dependency_links.txt +0 -0
  170. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/entry_points.txt +0 -0
  171. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/requires.txt +0 -0
  172. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal.egg-info/top_level.txt +0 -0
  173. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/__init__.py +0 -0
  174. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/gen_cli_docs.py +0 -0
  175. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/gen_reference_docs.py +0 -0
  176. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/mdmd/__init__.py +0 -0
  177. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/mdmd/mdmd.py +0 -0
  178. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_docs/mdmd/signatures.py +0 -0
  179. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/__init__.py +0 -0
  180. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router.proto +0 -0
  189. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router_grpc.py +0 -0
  190. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router_pb2.py +0 -0
  191. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router_pb2.pyi +0 -0
  192. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  193. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  194. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/modal_version/__main__.py +0 -0
  195. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/pyproject.toml +0 -0
  196. {modal-1.1.5.dev45 → modal-1.1.5.dev46}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev45
3
+ Version: 1.1.5.dev46
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.dev45",
36
+ version: str = "1.1.5.dev46",
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.dev45",
167
+ version: str = "1.1.5.dev46",
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.dev45
3
+ Version: 1.1.5.dev46
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -2729,6 +2729,18 @@ message SandboxCreateResponse {
2729
2729
  string sandbox_id = 1;
2730
2730
  }
2731
2731
 
2732
+ // Used to get a JWT and URL for direct access to a sandbox router server
2733
+ // running on the modal-worker, so the client can issue exec commands (and other
2734
+ // operations as they become available) directly to the worker.
2735
+ message SandboxGetCommandRouterAccessRequest {
2736
+ string sandbox_id = 1;
2737
+ }
2738
+
2739
+ message SandboxGetCommandRouterAccessResponse {
2740
+ string jwt = 1;
2741
+ string url = 2;
2742
+ }
2743
+
2732
2744
  message SandboxGetFromNameRequest {
2733
2745
  string sandbox_name = 1;
2734
2746
  string environment_name = 2;
@@ -3679,6 +3691,7 @@ service ModalClient {
3679
3691
  // Sandboxes
3680
3692
  rpc SandboxCreate(SandboxCreateRequest) returns (SandboxCreateResponse);
3681
3693
  rpc SandboxCreateConnectToken(SandboxCreateConnectTokenRequest) returns (SandboxCreateConnectTokenResponse);
3694
+ rpc SandboxGetCommandRouterAccess(SandboxGetCommandRouterAccessRequest) returns (SandboxGetCommandRouterAccessResponse);
3682
3695
  rpc SandboxGetFromName(SandboxGetFromNameRequest) returns (SandboxGetFromNameResponse);
3683
3696
  rpc SandboxGetLogs(SandboxGetLogsRequest) returns (stream TaskLogsBatch);
3684
3697
  rpc SandboxGetResourceUsage(SandboxGetResourceUsageRequest) returns (SandboxGetResourceUsageResponse);
@@ -470,6 +470,10 @@ class ModalClientBase(abc.ABC):
470
470
  async def SandboxCreateConnectToken(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxCreateConnectTokenRequest, modal_proto.api_pb2.SandboxCreateConnectTokenResponse]') -> None:
471
471
  pass
472
472
 
473
+ @abc.abstractmethod
474
+ async def SandboxGetCommandRouterAccess(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest, modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse]') -> None:
475
+ pass
476
+
473
477
  @abc.abstractmethod
474
478
  async def SandboxGetFromName(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SandboxGetFromNameRequest, modal_proto.api_pb2.SandboxGetFromNameResponse]') -> None:
475
479
  pass
@@ -1378,6 +1382,12 @@ class ModalClientBase(abc.ABC):
1378
1382
  modal_proto.api_pb2.SandboxCreateConnectTokenRequest,
1379
1383
  modal_proto.api_pb2.SandboxCreateConnectTokenResponse,
1380
1384
  ),
1385
+ '/modal.client.ModalClient/SandboxGetCommandRouterAccess': grpclib.const.Handler(
1386
+ self.SandboxGetCommandRouterAccess,
1387
+ grpclib.const.Cardinality.UNARY_UNARY,
1388
+ modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
1389
+ modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse,
1390
+ ),
1381
1391
  '/modal.client.ModalClient/SandboxGetFromName': grpclib.const.Handler(
1382
1392
  self.SandboxGetFromName,
1383
1393
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2404,6 +2414,12 @@ class ModalClientStub:
2404
2414
  modal_proto.api_pb2.SandboxCreateConnectTokenRequest,
2405
2415
  modal_proto.api_pb2.SandboxCreateConnectTokenResponse,
2406
2416
  )
2417
+ self.SandboxGetCommandRouterAccess = grpclib.client.UnaryUnaryMethod(
2418
+ channel,
2419
+ '/modal.client.ModalClient/SandboxGetCommandRouterAccess',
2420
+ modal_proto.api_pb2.SandboxGetCommandRouterAccessRequest,
2421
+ modal_proto.api_pb2.SandboxGetCommandRouterAccessResponse,
2422
+ )
2407
2423
  self.SandboxGetFromName = grpclib.client.UnaryUnaryMethod(
2408
2424
  channel,
2409
2425
  '/modal.client.ModalClient/SandboxGetFromName',