modal 1.4.2.dev13__tar.gz → 1.4.2.dev14__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 (209) hide show
  1. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/PKG-INFO +1 -1
  2. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/client.pyi +2 -2
  3. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/sandbox.py +18 -3
  4. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/PKG-INFO +1 -1
  5. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/api_grpc.py +80 -0
  6. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/api_pb2.py +863 -749
  7. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/api_pb2.pyi +273 -0
  8. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/api_pb2_grpc.py +166 -0
  9. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/api_pb2_grpc.pyi +52 -0
  10. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/modal_api_grpc.py +5 -0
  11. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_version/__init__.py +1 -1
  12. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/LICENSE +0 -0
  13. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/README.md +0 -0
  14. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/__init__.py +0 -0
  15. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/__main__.py +0 -0
  16. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_billing.py +0 -0
  17. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_clustered_functions.py +0 -0
  18. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_clustered_functions.pyi +0 -0
  19. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_container_entrypoint.py +0 -0
  20. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_functions.py +0 -0
  21. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_grpc_client.py +0 -0
  22. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_ipython.py +0 -0
  23. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_load_context.py +0 -0
  24. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_location.py +0 -0
  25. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_logs.py +0 -0
  26. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_object.py +0 -0
  27. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_output/__init__.py +0 -0
  28. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_output/manager.py +0 -0
  29. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_output/pty.py +0 -0
  30. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_output/rich.py +0 -0
  31. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_output/status.py +0 -0
  32. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_partial_function.py +0 -0
  33. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_resolver.py +0 -0
  34. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_resources.py +0 -0
  35. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/__init__.py +0 -0
  36. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/asgi.py +0 -0
  37. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/container_io_manager.py +0 -0
  38. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/container_io_manager.pyi +0 -0
  39. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/execution_context.py +0 -0
  40. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/execution_context.pyi +0 -0
  41. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  42. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/telemetry.py +0 -0
  43. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/user_code_event_loop.py +0 -0
  44. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_runtime/user_code_imports.py +0 -0
  45. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_serialization.py +0 -0
  46. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_server.py +0 -0
  47. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_traceback.py +0 -0
  48. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_tunnel.py +0 -0
  49. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_tunnel.pyi +0 -0
  50. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_type_manager.py +0 -0
  51. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/__init__.py +0 -0
  52. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/app_utils.py +0 -0
  53. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/async_utils.py +0 -0
  54. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/auth_token_manager.py +0 -0
  55. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/blob_utils.py +0 -0
  56. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/browser_utils.py +0 -0
  57. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/bytes_io_segment_payload.py +0 -0
  58. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/deprecation.py +0 -0
  59. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/docker_utils.py +0 -0
  60. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/function_utils.py +0 -0
  61. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/git_utils.py +0 -0
  62. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/grpc_testing.py +0 -0
  63. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/grpc_utils.py +0 -0
  64. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/hash_utils.py +0 -0
  65. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/http_utils.py +0 -0
  66. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/jwt_utils.py +0 -0
  67. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/logger.py +0 -0
  68. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/mount_utils.py +0 -0
  69. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/name_utils.py +0 -0
  70. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/package_utils.py +0 -0
  71. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/pattern_utils.py +0 -0
  72. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/rand_pb_testing.py +0 -0
  73. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/sandbox_fs_utils.py +0 -0
  74. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/shell_utils.py +0 -0
  75. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/task_command_router_client.py +0 -0
  76. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_utils/time_utils.py +0 -0
  77. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_vendor/__init__.py +0 -0
  78. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  79. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_vendor/cloudpickle.py +0 -0
  80. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_vendor/tblib.py +0 -0
  81. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_vendor/version.py +0 -0
  82. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/_watcher.py +0 -0
  83. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/app.py +0 -0
  84. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/app.pyi +0 -0
  85. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/billing.py +0 -0
  86. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/2023.12.312.txt +0 -0
  87. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/2023.12.txt +0 -0
  88. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/2024.04.txt +0 -0
  89. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/2024.10.txt +0 -0
  90. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/2025.06.txt +0 -0
  91. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/PREVIEW.txt +0 -0
  92. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/README.md +0 -0
  93. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/builder/base-images.json +0 -0
  94. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/call_graph.py +0 -0
  95. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/__init__.py +0 -0
  96. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/_download.py +0 -0
  97. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/_traceback.py +0 -0
  98. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/app.py +0 -0
  99. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/billing.py +0 -0
  100. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/changelog.py +0 -0
  101. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/cluster.py +0 -0
  102. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/config.py +0 -0
  103. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/container.py +0 -0
  104. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/dashboard.py +0 -0
  105. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/dict.py +0 -0
  106. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/entry_point.py +0 -0
  107. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/environment.py +0 -0
  108. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/import_refs.py +0 -0
  109. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/launch.py +0 -0
  110. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/network_file_system.py +0 -0
  111. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/profile.py +0 -0
  112. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/programs/__init__.py +0 -0
  113. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/programs/run_jupyter.py +0 -0
  114. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/programs/vscode.py +0 -0
  115. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/queues.py +0 -0
  116. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/run.py +0 -0
  117. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/secret.py +0 -0
  118. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/selector.py +0 -0
  119. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/shell.py +0 -0
  120. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/token.py +0 -0
  121. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/utils.py +0 -0
  122. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cli/volume.py +0 -0
  123. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/client.py +0 -0
  124. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cloud_bucket_mount.py +0 -0
  125. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cloud_bucket_mount.pyi +0 -0
  126. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cls.py +0 -0
  127. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/cls.pyi +0 -0
  128. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/config.py +0 -0
  129. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/container_process.py +0 -0
  130. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/container_process.pyi +0 -0
  131. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/dict.py +0 -0
  132. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/dict.pyi +0 -0
  133. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/environments.py +0 -0
  134. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/environments.pyi +0 -0
  135. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/exception.py +0 -0
  136. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/experimental/__init__.py +0 -0
  137. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/experimental/flash.py +0 -0
  138. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/experimental/flash.pyi +0 -0
  139. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/experimental/ipython.py +0 -0
  140. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/file_io.py +0 -0
  141. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/file_io.pyi +0 -0
  142. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/file_pattern_matcher.py +0 -0
  143. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/functions.py +0 -0
  144. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/functions.pyi +0 -0
  145. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/image.py +0 -0
  146. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/image.pyi +0 -0
  147. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/io_streams.py +0 -0
  148. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/io_streams.pyi +0 -0
  149. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/mount.py +0 -0
  150. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/mount.pyi +0 -0
  151. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/network_file_system.py +0 -0
  152. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/network_file_system.pyi +0 -0
  153. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/object.py +0 -0
  154. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/object.pyi +0 -0
  155. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/output.py +0 -0
  156. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/parallel_map.py +0 -0
  157. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/parallel_map.pyi +0 -0
  158. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/partial_function.py +0 -0
  159. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/partial_function.pyi +0 -0
  160. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/proxy.py +0 -0
  161. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/proxy.pyi +0 -0
  162. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/py.typed +0 -0
  163. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/queue.py +0 -0
  164. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/queue.pyi +0 -0
  165. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/retries.py +0 -0
  166. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/runner.py +0 -0
  167. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/runner.pyi +0 -0
  168. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/running_app.py +0 -0
  169. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/sandbox.pyi +0 -0
  170. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/sandbox_fs.py +0 -0
  171. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/sandbox_fs.pyi +0 -0
  172. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/schedule.py +0 -0
  173. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/scheduler_placement.py +0 -0
  174. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/secret.py +0 -0
  175. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/secret.pyi +0 -0
  176. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/server.py +0 -0
  177. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/server.pyi +0 -0
  178. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/serving.py +0 -0
  179. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/serving.pyi +0 -0
  180. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/snapshot.py +0 -0
  181. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/snapshot.pyi +0 -0
  182. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/stream_type.py +0 -0
  183. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/token_flow.py +0 -0
  184. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/token_flow.pyi +0 -0
  185. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/volume.py +0 -0
  186. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal/volume.pyi +0 -0
  187. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/SOURCES.txt +0 -0
  188. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/dependency_links.txt +0 -0
  189. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/entry_points.txt +0 -0
  190. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/requires.txt +0 -0
  191. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal.egg-info/top_level.txt +0 -0
  192. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/__init__.py +0 -0
  193. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/gen_cli_docs.py +0 -0
  194. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/gen_cli_docs_main.py +0 -0
  195. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/gen_reference_docs.py +0 -0
  196. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/gen_reference_docs_main.py +0 -0
  197. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/mdmd/__init__.py +0 -0
  198. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/mdmd/mdmd.py +0 -0
  199. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_docs/mdmd/signatures.py +0 -0
  200. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/__init__.py +0 -0
  201. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/py.typed +0 -0
  202. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/task_command_router_grpc.py +0 -0
  203. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/task_command_router_pb2.py +0 -0
  204. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/task_command_router_pb2.pyi +0 -0
  205. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  206. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  207. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/modal_version/__main__.py +0 -0
  208. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/pyproject.toml +0 -0
  209. {modal-1.4.2.dev13 → modal-1.4.2.dev14}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.4.2.dev13
3
+ Version: 1.4.2.dev14
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -35,7 +35,7 @@ class _Client:
35
35
  server_url: str,
36
36
  client_type: int,
37
37
  credentials: typing.Optional[tuple[str, str]],
38
- version: str = "1.4.2.dev13",
38
+ version: str = "1.4.2.dev14",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -175,7 +175,7 @@ class Client:
175
175
  server_url: str,
176
176
  client_type: int,
177
177
  credentials: typing.Optional[tuple[str, str]],
178
- version: str = "1.4.2.dev13",
178
+ version: str = "1.4.2.dev14",
179
179
  ):
180
180
  """mdmd:hidden
181
181
  The Modal client object is not intended to be instantiated directly by users.
@@ -1110,7 +1110,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1110
1110
 
1111
1111
  req = api_pb2.SandboxGetTunnelsRequest(sandbox_id=self.object_id, timeout=timeout)
1112
1112
  stub = self._client.stub
1113
- resp = await (stub.SandboxGetTunnelsV2(req) if self._is_v2 else stub.SandboxGetTunnels(req))
1113
+ if self._is_v2:
1114
+ assert self._client._auth_token_manager
1115
+ auth_token = await self._client._auth_token_manager.get_token()
1116
+ resp = await stub.SandboxGetTunnelsV2(req, metadata=[("x-modal-auth-token", auth_token)])
1117
+ else:
1118
+ resp = await stub.SandboxGetTunnels(req)
1114
1119
 
1115
1120
  # If we couldn't get the tunnels in time, report the timeout.
1116
1121
  if resp.result.status == api_pb2.GenericResult.GENERIC_STATUS_TIMEOUT:
@@ -1179,7 +1184,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1179
1184
  This is a no-op if the Sandbox has already finished running."""
1180
1185
  req = api_pb2.SandboxTerminateRequest(sandbox_id=self.object_id)
1181
1186
  stub = self._client.stub
1182
- await (stub.SandboxTerminateV2(req) if self._is_v2 else stub.SandboxTerminate(req))
1187
+ if self._is_v2:
1188
+ assert self._client._auth_token_manager
1189
+ auth_token = await self._client._auth_token_manager.get_token()
1190
+ await stub.SandboxTerminateV2(req, metadata=[("x-modal-auth-token", auth_token)])
1191
+ else:
1192
+ await stub.SandboxTerminate(req)
1183
1193
  if wait:
1184
1194
  await self.wait(raise_on_termination=False)
1185
1195
  return self.returncode
@@ -1208,7 +1218,12 @@ class _Sandbox(_Object, type_prefix="sb"):
1208
1218
  while not self._task_id:
1209
1219
  req = api_pb2.SandboxGetTaskIdRequest(sandbox_id=self.object_id)
1210
1220
  stub = self._client.stub
1211
- resp = await (stub.SandboxGetTaskIdV2(req) if self._is_v2 else stub.SandboxGetTaskId(req))
1221
+ if self._is_v2:
1222
+ assert self._client._auth_token_manager
1223
+ auth_token = await self._client._auth_token_manager.get_token()
1224
+ resp = await stub.SandboxGetTaskIdV2(req, metadata=[("x-modal-auth-token", auth_token)])
1225
+ else:
1226
+ resp = await stub.SandboxGetTaskId(req)
1212
1227
  if not resp.task_id and raise_if_task_complete and resp.HasField("task_result"):
1213
1228
  msg = resp.task_result.exception or "Sandbox already finished"
1214
1229
  raise Error(msg)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.4.2.dev13
3
+ Version: 1.4.2.dev14
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -267,6 +267,10 @@ class ModalClientBase(abc.ABC):
267
267
  async def EnvironmentDelete(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentDeleteRequest, google.protobuf.empty_pb2.Empty]') -> None:
268
268
  pass
269
269
 
270
+ @abc.abstractmethod
271
+ async def EnvironmentGetManaged(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentGetManagedRequest, modal_proto.api_pb2.EnvironmentGetManagedResponse]') -> None:
272
+ pass
273
+
270
274
  @abc.abstractmethod
271
275
  async def EnvironmentGetOrCreate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentGetOrCreateRequest, modal_proto.api_pb2.EnvironmentGetOrCreateResponse]') -> None:
272
276
  pass
@@ -275,6 +279,14 @@ class ModalClientBase(abc.ABC):
275
279
  async def EnvironmentList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.EnvironmentListResponse]') -> None:
276
280
  pass
277
281
 
282
+ @abc.abstractmethod
283
+ async def EnvironmentRoleSet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentRoleSetRequest, google.protobuf.empty_pb2.Empty]') -> None:
284
+ pass
285
+
286
+ @abc.abstractmethod
287
+ async def EnvironmentSetManaged(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentSetManagedRequest, google.protobuf.empty_pb2.Empty]') -> None:
288
+ pass
289
+
278
290
  @abc.abstractmethod
279
291
  async def EnvironmentUpdate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.EnvironmentUpdateRequest, modal_proto.api_pb2.EnvironmentListItem]') -> None:
280
292
  pass
@@ -623,6 +635,10 @@ class ModalClientBase(abc.ABC):
623
635
  async def SecretUpdate(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SecretUpdateRequest, google.protobuf.empty_pb2.Empty]') -> None:
624
636
  pass
625
637
 
638
+ @abc.abstractmethod
639
+ async def ServiceUserList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.ServiceUserListResponse]') -> None:
640
+ pass
641
+
626
642
  @abc.abstractmethod
627
643
  async def SharedVolumeDelete(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.SharedVolumeDeleteRequest, google.protobuf.empty_pb2.Empty]') -> None:
628
644
  pass
@@ -787,6 +803,10 @@ class ModalClientBase(abc.ABC):
787
803
  async def WorkspaceDashboardUrlGet(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.WorkspaceDashboardUrlRequest, modal_proto.api_pb2.WorkspaceDashboardUrlResponse]') -> None:
788
804
  pass
789
805
 
806
+ @abc.abstractmethod
807
+ async def WorkspaceMembersList(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.WorkspaceMembersListResponse]') -> None:
808
+ pass
809
+
790
810
  @abc.abstractmethod
791
811
  async def WorkspaceNameLookup(self, stream: 'grpclib.server.Stream[google.protobuf.empty_pb2.Empty, modal_proto.api_pb2.WorkspaceNameLookupResponse]') -> None:
792
812
  pass
@@ -1165,6 +1185,12 @@ class ModalClientBase(abc.ABC):
1165
1185
  modal_proto.api_pb2.EnvironmentDeleteRequest,
1166
1186
  google.protobuf.empty_pb2.Empty,
1167
1187
  ),
1188
+ '/modal.client.ModalClient/EnvironmentGetManaged': grpclib.const.Handler(
1189
+ self.EnvironmentGetManaged,
1190
+ grpclib.const.Cardinality.UNARY_UNARY,
1191
+ modal_proto.api_pb2.EnvironmentGetManagedRequest,
1192
+ modal_proto.api_pb2.EnvironmentGetManagedResponse,
1193
+ ),
1168
1194
  '/modal.client.ModalClient/EnvironmentGetOrCreate': grpclib.const.Handler(
1169
1195
  self.EnvironmentGetOrCreate,
1170
1196
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1177,6 +1203,18 @@ class ModalClientBase(abc.ABC):
1177
1203
  google.protobuf.empty_pb2.Empty,
1178
1204
  modal_proto.api_pb2.EnvironmentListResponse,
1179
1205
  ),
1206
+ '/modal.client.ModalClient/EnvironmentRoleSet': grpclib.const.Handler(
1207
+ self.EnvironmentRoleSet,
1208
+ grpclib.const.Cardinality.UNARY_UNARY,
1209
+ modal_proto.api_pb2.EnvironmentRoleSetRequest,
1210
+ google.protobuf.empty_pb2.Empty,
1211
+ ),
1212
+ '/modal.client.ModalClient/EnvironmentSetManaged': grpclib.const.Handler(
1213
+ self.EnvironmentSetManaged,
1214
+ grpclib.const.Cardinality.UNARY_UNARY,
1215
+ modal_proto.api_pb2.EnvironmentSetManagedRequest,
1216
+ google.protobuf.empty_pb2.Empty,
1217
+ ),
1180
1218
  '/modal.client.ModalClient/EnvironmentUpdate': grpclib.const.Handler(
1181
1219
  self.EnvironmentUpdate,
1182
1220
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1699,6 +1737,12 @@ class ModalClientBase(abc.ABC):
1699
1737
  modal_proto.api_pb2.SecretUpdateRequest,
1700
1738
  google.protobuf.empty_pb2.Empty,
1701
1739
  ),
1740
+ '/modal.client.ModalClient/ServiceUserList': grpclib.const.Handler(
1741
+ self.ServiceUserList,
1742
+ grpclib.const.Cardinality.UNARY_UNARY,
1743
+ google.protobuf.empty_pb2.Empty,
1744
+ modal_proto.api_pb2.ServiceUserListResponse,
1745
+ ),
1702
1746
  '/modal.client.ModalClient/SharedVolumeDelete': grpclib.const.Handler(
1703
1747
  self.SharedVolumeDelete,
1704
1748
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -1945,6 +1989,12 @@ class ModalClientBase(abc.ABC):
1945
1989
  modal_proto.api_pb2.WorkspaceDashboardUrlRequest,
1946
1990
  modal_proto.api_pb2.WorkspaceDashboardUrlResponse,
1947
1991
  ),
1992
+ '/modal.client.ModalClient/WorkspaceMembersList': grpclib.const.Handler(
1993
+ self.WorkspaceMembersList,
1994
+ grpclib.const.Cardinality.UNARY_UNARY,
1995
+ google.protobuf.empty_pb2.Empty,
1996
+ modal_proto.api_pb2.WorkspaceMembersListResponse,
1997
+ ),
1948
1998
  '/modal.client.ModalClient/WorkspaceNameLookup': grpclib.const.Handler(
1949
1999
  self.WorkspaceNameLookup,
1950
2000
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2329,6 +2379,12 @@ class ModalClientStub:
2329
2379
  modal_proto.api_pb2.EnvironmentDeleteRequest,
2330
2380
  google.protobuf.empty_pb2.Empty,
2331
2381
  )
2382
+ self.EnvironmentGetManaged = grpclib.client.UnaryUnaryMethod(
2383
+ channel,
2384
+ '/modal.client.ModalClient/EnvironmentGetManaged',
2385
+ modal_proto.api_pb2.EnvironmentGetManagedRequest,
2386
+ modal_proto.api_pb2.EnvironmentGetManagedResponse,
2387
+ )
2332
2388
  self.EnvironmentGetOrCreate = grpclib.client.UnaryUnaryMethod(
2333
2389
  channel,
2334
2390
  '/modal.client.ModalClient/EnvironmentGetOrCreate',
@@ -2341,6 +2397,18 @@ class ModalClientStub:
2341
2397
  google.protobuf.empty_pb2.Empty,
2342
2398
  modal_proto.api_pb2.EnvironmentListResponse,
2343
2399
  )
2400
+ self.EnvironmentRoleSet = grpclib.client.UnaryUnaryMethod(
2401
+ channel,
2402
+ '/modal.client.ModalClient/EnvironmentRoleSet',
2403
+ modal_proto.api_pb2.EnvironmentRoleSetRequest,
2404
+ google.protobuf.empty_pb2.Empty,
2405
+ )
2406
+ self.EnvironmentSetManaged = grpclib.client.UnaryUnaryMethod(
2407
+ channel,
2408
+ '/modal.client.ModalClient/EnvironmentSetManaged',
2409
+ modal_proto.api_pb2.EnvironmentSetManagedRequest,
2410
+ google.protobuf.empty_pb2.Empty,
2411
+ )
2344
2412
  self.EnvironmentUpdate = grpclib.client.UnaryUnaryMethod(
2345
2413
  channel,
2346
2414
  '/modal.client.ModalClient/EnvironmentUpdate',
@@ -2863,6 +2931,12 @@ class ModalClientStub:
2863
2931
  modal_proto.api_pb2.SecretUpdateRequest,
2864
2932
  google.protobuf.empty_pb2.Empty,
2865
2933
  )
2934
+ self.ServiceUserList = grpclib.client.UnaryUnaryMethod(
2935
+ channel,
2936
+ '/modal.client.ModalClient/ServiceUserList',
2937
+ google.protobuf.empty_pb2.Empty,
2938
+ modal_proto.api_pb2.ServiceUserListResponse,
2939
+ )
2866
2940
  self.SharedVolumeDelete = grpclib.client.UnaryUnaryMethod(
2867
2941
  channel,
2868
2942
  '/modal.client.ModalClient/SharedVolumeDelete',
@@ -3109,6 +3183,12 @@ class ModalClientStub:
3109
3183
  modal_proto.api_pb2.WorkspaceDashboardUrlRequest,
3110
3184
  modal_proto.api_pb2.WorkspaceDashboardUrlResponse,
3111
3185
  )
3186
+ self.WorkspaceMembersList = grpclib.client.UnaryUnaryMethod(
3187
+ channel,
3188
+ '/modal.client.ModalClient/WorkspaceMembersList',
3189
+ google.protobuf.empty_pb2.Empty,
3190
+ modal_proto.api_pb2.WorkspaceMembersListResponse,
3191
+ )
3112
3192
  self.WorkspaceNameLookup = grpclib.client.UnaryUnaryMethod(
3113
3193
  channel,
3114
3194
  '/modal.client.ModalClient/WorkspaceNameLookup',