modal 1.5.2.dev1__tar.gz → 1.5.2.dev2__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 (230) hide show
  1. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/PKG-INFO +1 -1
  2. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/client.pyi +2 -2
  3. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/sandbox.py +4 -0
  4. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/sandbox.pyi +3 -0
  5. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/api_pb2_grpc.py +1 -1
  7. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/api_pb2_grpc.pyi +2 -2
  8. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_version/__init__.py +1 -1
  9. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/LICENSE +0 -0
  10. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/README.md +0 -0
  11. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/__init__.py +0 -0
  12. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/__main__.py +0 -0
  13. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_billing.py +0 -0
  14. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_clustered_functions.py +0 -0
  15. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_clustered_functions.pyi +0 -0
  16. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_container_entrypoint.py +0 -0
  17. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_environments.py +0 -0
  18. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_function_variants.py +0 -0
  19. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_functions.py +0 -0
  20. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_grpc_client.py +0 -0
  21. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_image.py +0 -0
  22. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_ipython.py +0 -0
  23. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_load_context.py +0 -0
  24. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_location.py +0 -0
  25. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_logs.py +0 -0
  26. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_object.py +0 -0
  27. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_output/__init__.py +0 -0
  28. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_output/manager.py +0 -0
  29. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_output/pty.py +0 -0
  30. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_output/rich.py +0 -0
  31. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_output/status.py +0 -0
  32. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_partial_function.py +0 -0
  33. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_resolver.py +0 -0
  34. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_resources.py +0 -0
  35. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/__init__.py +0 -0
  36. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/asgi.py +0 -0
  37. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/container_io_manager.py +0 -0
  38. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/container_io_manager.pyi +0 -0
  39. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/execution_context.py +0 -0
  40. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/execution_context.pyi +0 -0
  41. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  42. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/task_lifecycle_manager.py +0 -0
  43. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
  44. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/telemetry.py +0 -0
  45. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/user_code_event_loop.py +0 -0
  46. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_runtime/user_code_imports.py +0 -0
  47. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_serialization.py +0 -0
  48. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_server.py +0 -0
  49. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_traceback.py +0 -0
  50. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_tunnel.py +0 -0
  51. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_tunnel.pyi +0 -0
  52. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_type_manager.py +0 -0
  53. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/__init__.py +0 -0
  54. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/app_utils.py +0 -0
  55. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/async_utils.py +0 -0
  56. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/auth_token_manager.py +0 -0
  57. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/blob_utils.py +0 -0
  58. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/browser_utils.py +0 -0
  59. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/bytes_io_segment_payload.py +0 -0
  60. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/curl_utils.py +0 -0
  61. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/deprecation.py +0 -0
  62. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/docker_utils.py +0 -0
  63. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/function_utils.py +0 -0
  64. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/git_utils.py +0 -0
  65. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/grpc_testing.py +0 -0
  66. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/grpc_utils.py +0 -0
  67. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/hash_utils.py +0 -0
  68. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/http_utils.py +0 -0
  69. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/jwt_utils.py +0 -0
  70. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/logger.py +0 -0
  71. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/mount_utils.py +0 -0
  72. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/name_utils.py +0 -0
  73. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/package_utils.py +0 -0
  74. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/pattern_utils.py +0 -0
  75. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/proxy_support.py +0 -0
  76. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/rand_pb_testing.py +0 -0
  77. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/sandbox_fs_utils.py +0 -0
  78. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/shell_utils.py +0 -0
  79. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/task_command_router_client.py +0 -0
  80. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_utils/time_utils.py +0 -0
  81. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_vendor/__init__.py +0 -0
  82. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  83. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_vendor/cloudpickle.py +0 -0
  84. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_vendor/tblib.py +0 -0
  85. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_vendor/version.py +0 -0
  86. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_watcher.py +0 -0
  87. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/_workspace.py +0 -0
  88. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/app.py +0 -0
  89. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/app.pyi +0 -0
  90. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/billing.py +0 -0
  91. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/billing.pyi +0 -0
  92. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/2023.12.312.txt +0 -0
  93. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/2023.12.txt +0 -0
  94. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/2024.04.txt +0 -0
  95. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/2024.10.txt +0 -0
  96. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/2025.06.txt +0 -0
  97. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/PREVIEW.txt +0 -0
  98. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/README.md +0 -0
  99. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/builder/base-images.json +0 -0
  100. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/call_graph.py +0 -0
  101. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/__init__.py +0 -0
  102. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/_download.py +0 -0
  103. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/_help.py +0 -0
  104. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/_traceback.py +0 -0
  105. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/app.py +0 -0
  106. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/billing.py +0 -0
  107. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/bootstrap.py +0 -0
  108. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/changelog.py +0 -0
  109. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/cluster.py +0 -0
  110. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/config.py +0 -0
  111. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/container.py +0 -0
  112. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/curl.py +0 -0
  113. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/dashboard.py +0 -0
  114. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/dict.py +0 -0
  115. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/endpoint.py +0 -0
  116. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/entry_point.py +0 -0
  117. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/environment.py +0 -0
  118. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/image.py +0 -0
  119. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/import_refs.py +0 -0
  120. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/launch.py +0 -0
  121. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/logo.py +0 -0
  122. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/network_file_system.py +0 -0
  123. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/profile.py +0 -0
  124. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/programs/__init__.py +0 -0
  125. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/programs/run_jupyter.py +0 -0
  126. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/programs/vscode.py +0 -0
  127. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/queues.py +0 -0
  128. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/run.py +0 -0
  129. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/secret.py +0 -0
  130. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/selector.py +0 -0
  131. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/shell.py +0 -0
  132. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/skills.py +0 -0
  133. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/token.py +0 -0
  134. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/utils.py +0 -0
  135. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/volume.py +0 -0
  136. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cli/workspace.py +0 -0
  137. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/client.py +0 -0
  138. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cloud_bucket_mount.py +0 -0
  139. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cloud_bucket_mount.pyi +0 -0
  140. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cls.py +0 -0
  141. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/cls.pyi +0 -0
  142. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/config.py +0 -0
  143. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/container_process.py +0 -0
  144. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/container_process.pyi +0 -0
  145. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/dict.py +0 -0
  146. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/dict.pyi +0 -0
  147. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/environments.py +0 -0
  148. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/environments.pyi +0 -0
  149. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/exception.py +0 -0
  150. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/experimental/__init__.py +0 -0
  151. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/experimental/flash.py +0 -0
  152. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/experimental/flash.pyi +0 -0
  153. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/experimental/ipython.py +0 -0
  154. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/file_io.py +0 -0
  155. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/file_io.pyi +0 -0
  156. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/file_pattern_matcher.py +0 -0
  157. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/functions.py +0 -0
  158. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/functions.pyi +0 -0
  159. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/image.py +0 -0
  160. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/image.pyi +0 -0
  161. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/io_streams.py +0 -0
  162. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/io_streams.pyi +0 -0
  163. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/mount.py +0 -0
  164. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/mount.pyi +0 -0
  165. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/network_file_system.py +0 -0
  166. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/network_file_system.pyi +0 -0
  167. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/object.py +0 -0
  168. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/object.pyi +0 -0
  169. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/output.py +0 -0
  170. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/parallel_map.py +0 -0
  171. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/parallel_map.pyi +0 -0
  172. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/partial_function.py +0 -0
  173. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/partial_function.pyi +0 -0
  174. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/proxy.py +0 -0
  175. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/proxy.pyi +0 -0
  176. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/py.typed +0 -0
  177. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/queue.py +0 -0
  178. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/queue.pyi +0 -0
  179. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/retries.py +0 -0
  180. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/runner.py +0 -0
  181. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/runner.pyi +0 -0
  182. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/running_app.py +0 -0
  183. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/sandbox_fs.py +0 -0
  184. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/sandbox_fs.pyi +0 -0
  185. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/schedule.py +0 -0
  186. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/scheduler_placement.py +0 -0
  187. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/secret.py +0 -0
  188. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/secret.pyi +0 -0
  189. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/server.py +0 -0
  190. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/server.pyi +0 -0
  191. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/serving.py +0 -0
  192. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/serving.pyi +0 -0
  193. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/skills/modal/SKILL.md +0 -0
  194. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/snapshot.py +0 -0
  195. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/snapshot.pyi +0 -0
  196. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/stream_type.py +0 -0
  197. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/token_flow.py +0 -0
  198. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/token_flow.pyi +0 -0
  199. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/volume.py +0 -0
  200. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/volume.pyi +0 -0
  201. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/workspace.py +0 -0
  202. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal/workspace.pyi +0 -0
  203. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/SOURCES.txt +0 -0
  204. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/dependency_links.txt +0 -0
  205. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/entry_points.txt +0 -0
  206. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/requires.txt +0 -0
  207. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal.egg-info/top_level.txt +0 -0
  208. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/__init__.py +0 -0
  209. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/gen_cli_docs.py +0 -0
  210. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/gen_cli_docs_main.py +0 -0
  211. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/gen_reference_docs.py +0 -0
  212. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/gen_reference_docs_main.py +0 -0
  213. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/mdmd/__init__.py +0 -0
  214. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/mdmd/mdmd.py +0 -0
  215. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/mdmd/signatures.py +0 -0
  216. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_docs/mdmd/types.py +0 -0
  217. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/__init__.py +0 -0
  218. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/api_grpc.py +0 -0
  219. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/api_pb2.py +0 -0
  220. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/api_pb2.pyi +0 -0
  221. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/modal_api_grpc.py +0 -0
  222. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/py.typed +0 -0
  223. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/task_command_router_grpc.py +0 -0
  224. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/task_command_router_pb2.py +0 -0
  225. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/task_command_router_pb2.pyi +0 -0
  226. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  227. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  228. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/modal_version/__main__.py +0 -0
  229. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/pyproject.toml +0 -0
  230. {modal-1.5.2.dev1 → modal-1.5.2.dev2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.2.dev1
3
+ Version: 1.5.2.dev2
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.5.2.dev1",
38
+ version: str = "1.5.2.dev2",
39
39
  ):
40
40
  """mdmd:hidden
41
41
  The Modal client object is not intended to be instantiated directly by users.
@@ -205,7 +205,7 @@ class Client:
205
205
  server_url: str,
206
206
  client_type: int,
207
207
  credentials: typing.Optional[tuple[str, str]],
208
- version: str = "1.5.2.dev1",
208
+ version: str = "1.5.2.dev2",
209
209
  ):
210
210
  """mdmd:hidden
211
211
  The Modal client object is not intended to be instantiated directly by users.
@@ -849,6 +849,7 @@ class _Sandbox(_Object, type_prefix="sb"):
849
849
  unencrypted_ports: Sequence[int] = [],
850
850
  proxy: _Proxy | None = None,
851
851
  readiness_probe: Probe | None = None,
852
+ experimental_options: dict[str, Any] | None = None,
852
853
  include_oidc_identity_token: bool = False,
853
854
  verbose: bool = False,
854
855
  client: _Client | None = None,
@@ -994,6 +995,9 @@ class _Sandbox(_Object, type_prefix="sb"):
994
995
  volume_mounts=volume_mounts,
995
996
  cloud_bucket_mounts=cloud_bucket_mounts_to_proto(cloud_bucket_mounts),
996
997
  readiness_probe=(readiness_probe._to_proto() if readiness_probe else None),
998
+ experimental_options_v2=(
999
+ {k: str(v) for k, v in experimental_options.items()} if experimental_options else None
1000
+ ),
997
1001
  )
998
1002
 
999
1003
  create_req = api_pb2.SandboxCreateV2Request(
@@ -415,6 +415,7 @@ class _Sandbox(modal._object._Object):
415
415
  unencrypted_ports: collections.abc.Sequence[int] = [],
416
416
  proxy: typing.Optional[modal.proxy._Proxy] = None,
417
417
  readiness_probe: typing.Optional[Probe] = None,
418
+ experimental_options: typing.Optional[dict[str, typing.Any]] = None,
418
419
  include_oidc_identity_token: bool = False,
419
420
  verbose: bool = False,
420
421
  client: typing.Optional[modal.client._Client] = None,
@@ -1647,6 +1648,7 @@ class Sandbox(modal.object.Object):
1647
1648
  unencrypted_ports: collections.abc.Sequence[int] = [],
1648
1649
  proxy: typing.Optional[modal.proxy.Proxy] = None,
1649
1650
  readiness_probe: typing.Optional[Probe] = None,
1651
+ experimental_options: typing.Optional[dict[str, typing.Any]] = None,
1650
1652
  include_oidc_identity_token: bool = False,
1651
1653
  verbose: bool = False,
1652
1654
  client: typing.Optional[modal.client.Client] = None,
@@ -1706,6 +1708,7 @@ class Sandbox(modal.object.Object):
1706
1708
  unencrypted_ports: collections.abc.Sequence[int] = [],
1707
1709
  proxy: typing.Optional[modal.proxy.Proxy] = None,
1708
1710
  readiness_probe: typing.Optional[Probe] = None,
1711
+ experimental_options: typing.Optional[dict[str, typing.Any]] = None,
1709
1712
  include_oidc_identity_token: bool = False,
1710
1713
  verbose: bool = False,
1711
1714
  client: typing.Optional[modal.client.Client] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.2.dev1
3
+ Version: 1.5.2.dev2
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -2388,7 +2388,7 @@ class ModalClientServicer(object):
2388
2388
  raise NotImplementedError('Method not implemented!')
2389
2389
 
2390
2390
  def WebhookTokenCreate(self, request, context):
2391
- """Webhook tokens (proxy auth tokens)
2391
+ """Webhook tokens (proxy tokens)
2392
2392
  """
2393
2393
  context.set_code(grpc.StatusCode.UNIMPLEMENTED)
2394
2394
  context.set_details('Method not implemented!')
@@ -877,7 +877,7 @@ class ModalClientStub:
877
877
  modal_proto.api_pb2.WebhookTokenCreateRequest,
878
878
  modal_proto.api_pb2.TokenCreateResponse,
879
879
  ]
880
- """Webhook tokens (proxy auth tokens)"""
880
+ """Webhook tokens (proxy tokens)"""
881
881
  WebhookTokenDelete: grpc.UnaryUnaryMultiCallable[
882
882
  modal_proto.api_pb2.TokenDeleteRequest,
883
883
  google.protobuf.empty_pb2.Empty,
@@ -2204,7 +2204,7 @@ class ModalClientServicer(metaclass=abc.ABCMeta):
2204
2204
  request: modal_proto.api_pb2.WebhookTokenCreateRequest,
2205
2205
  context: grpc.ServicerContext,
2206
2206
  ) -> modal_proto.api_pb2.TokenCreateResponse:
2207
- """Webhook tokens (proxy auth tokens)"""
2207
+ """Webhook tokens (proxy tokens)"""
2208
2208
  @abc.abstractmethod
2209
2209
  def WebhookTokenDelete(
2210
2210
  self,
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2026
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.5.2.dev1"
4
+ __version__ = "1.5.2.dev2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes