modal 1.5.6.dev7__tar.gz → 1.5.6.dev8__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 (236) hide show
  1. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/PKG-INFO +1 -1
  2. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/client.pyi +2 -2
  3. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/exception.py +1 -1
  4. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/sandbox.py +7 -1
  5. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/sandbox.pyi +21 -3
  6. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_version/__init__.py +1 -1
  8. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/LICENSE +0 -0
  9. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/README.md +0 -0
  10. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/__init__.py +0 -0
  11. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/__main__.py +0 -0
  12. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_billing.py +0 -0
  13. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_clustered_functions.py +0 -0
  14. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_clustered_functions.pyi +0 -0
  15. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_container_entrypoint.py +0 -0
  16. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_environments.py +0 -0
  17. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_function_variants.py +0 -0
  18. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_functions.py +0 -0
  19. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_grpc_client.py +0 -0
  20. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_image.py +0 -0
  21. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_ipython.py +0 -0
  22. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_load_context.py +0 -0
  23. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_location.py +0 -0
  24. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_logs.py +0 -0
  25. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_logs_manager.py +0 -0
  26. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_logs_manager.pyi +0 -0
  27. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_object.py +0 -0
  28. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_output/__init__.py +0 -0
  29. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_output/manager.py +0 -0
  30. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_output/pty.py +0 -0
  31. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_output/rich.py +0 -0
  32. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_output/status.py +0 -0
  33. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_partial_function.py +0 -0
  34. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_resolver.py +0 -0
  35. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_resources.py +0 -0
  36. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/__init__.py +0 -0
  37. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/asgi.py +0 -0
  38. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/container_io_manager.py +0 -0
  39. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/container_io_manager.pyi +0 -0
  40. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/execution_context.py +0 -0
  41. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/execution_context.pyi +0 -0
  42. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  43. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/task_lifecycle_manager.py +0 -0
  44. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
  45. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/telemetry.py +0 -0
  46. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/user_code_event_loop.py +0 -0
  47. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_runtime/user_code_imports.py +0 -0
  48. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_serialization.py +0 -0
  49. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_server.py +0 -0
  50. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_supports_logs.py +0 -0
  51. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_traceback.py +0 -0
  52. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_tunnel.py +0 -0
  53. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_tunnel.pyi +0 -0
  54. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_type_manager.py +0 -0
  55. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/__init__.py +0 -0
  56. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/app_utils.py +0 -0
  57. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/async_utils.py +0 -0
  58. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/auth_token_manager.py +0 -0
  59. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/blob_utils.py +0 -0
  60. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/browser_utils.py +0 -0
  61. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/bytes_io_segment_payload.py +0 -0
  62. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/curl_utils.py +0 -0
  63. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/deprecation.py +0 -0
  64. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/display_utils.py +0 -0
  65. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/docker_utils.py +0 -0
  66. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/function_utils.py +0 -0
  67. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/git_utils.py +0 -0
  68. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/grpc_testing.py +0 -0
  69. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/grpc_utils.py +0 -0
  70. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/hash_utils.py +0 -0
  71. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/http_utils.py +0 -0
  72. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/jwt_utils.py +0 -0
  73. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/logger.py +0 -0
  74. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/mount_utils.py +0 -0
  75. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/name_utils.py +0 -0
  76. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/package_utils.py +0 -0
  77. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/pattern_utils.py +0 -0
  78. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/proxy_support.py +0 -0
  79. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/rand_pb_testing.py +0 -0
  80. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/sandbox_fs_utils.py +0 -0
  81. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/shell_utils.py +0 -0
  82. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/task_command_router_client.py +0 -0
  83. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_utils/time_utils.py +0 -0
  84. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_vendor/__init__.py +0 -0
  85. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  86. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_vendor/cloudpickle.py +0 -0
  87. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_vendor/tblib.py +0 -0
  88. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_vendor/version.py +0 -0
  89. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_watcher.py +0 -0
  90. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/_workspace.py +0 -0
  91. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/app.py +0 -0
  92. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/app.pyi +0 -0
  93. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/billing.py +0 -0
  94. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/billing.pyi +0 -0
  95. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/2023.12.312.txt +0 -0
  96. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/2023.12.txt +0 -0
  97. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/2024.04.txt +0 -0
  98. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/2024.10.txt +0 -0
  99. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/2025.06.txt +0 -0
  100. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/PREVIEW.txt +0 -0
  101. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/README.md +0 -0
  102. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/builder/base-images.json +0 -0
  103. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/call_graph.py +0 -0
  104. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/__init__.py +0 -0
  105. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/_download.py +0 -0
  106. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/_help.py +0 -0
  107. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/_traceback.py +0 -0
  108. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/app.py +0 -0
  109. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/billing.py +0 -0
  110. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/bootstrap.py +0 -0
  111. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/changelog.py +0 -0
  112. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/cluster.py +0 -0
  113. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/config.py +0 -0
  114. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/container.py +0 -0
  115. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/curl.py +0 -0
  116. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/dashboard.py +0 -0
  117. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/dict.py +0 -0
  118. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/endpoint.py +0 -0
  119. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/entry_point.py +0 -0
  120. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/environment.py +0 -0
  121. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/image.py +0 -0
  122. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/import_refs.py +0 -0
  123. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/launch.py +0 -0
  124. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/logo.py +0 -0
  125. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/network_file_system.py +0 -0
  126. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/profile.py +0 -0
  127. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/programs/__init__.py +0 -0
  128. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/programs/run_jupyter.py +0 -0
  129. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/programs/vscode.py +0 -0
  130. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/queues.py +0 -0
  131. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/run.py +0 -0
  132. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/secret.py +0 -0
  133. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/selector.py +0 -0
  134. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/shell.py +0 -0
  135. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/skills.py +0 -0
  136. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/token.py +0 -0
  137. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/utils.py +0 -0
  138. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/volume.py +0 -0
  139. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cli/workspace.py +0 -0
  140. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/client.py +0 -0
  141. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cloud_bucket_mount.py +0 -0
  142. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cloud_bucket_mount.pyi +0 -0
  143. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cls.py +0 -0
  144. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/cls.pyi +0 -0
  145. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/config.py +0 -0
  146. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/container_process.py +0 -0
  147. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/container_process.pyi +0 -0
  148. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/dict.py +0 -0
  149. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/dict.pyi +0 -0
  150. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/environments.py +0 -0
  151. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/environments.pyi +0 -0
  152. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/experimental/__init__.py +0 -0
  153. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/experimental/flash.py +0 -0
  154. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/experimental/flash.pyi +0 -0
  155. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/experimental/ipython.py +0 -0
  156. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/file_io.py +0 -0
  157. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/file_io.pyi +0 -0
  158. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/file_pattern_matcher.py +0 -0
  159. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/functions.py +0 -0
  160. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/functions.pyi +0 -0
  161. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/image.py +0 -0
  162. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/image.pyi +0 -0
  163. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/io_streams.py +0 -0
  164. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/io_streams.pyi +0 -0
  165. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/mount.py +0 -0
  166. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/mount.pyi +0 -0
  167. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/network_file_system.py +0 -0
  168. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/network_file_system.pyi +0 -0
  169. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/object.py +0 -0
  170. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/object.pyi +0 -0
  171. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/output.py +0 -0
  172. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/parallel_map.py +0 -0
  173. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/parallel_map.pyi +0 -0
  174. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/partial_function.py +0 -0
  175. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/partial_function.pyi +0 -0
  176. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/proxy.py +0 -0
  177. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/proxy.pyi +0 -0
  178. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/py.typed +0 -0
  179. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/queue.py +0 -0
  180. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/queue.pyi +0 -0
  181. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/retries.py +0 -0
  182. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/runner.py +0 -0
  183. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/runner.pyi +0 -0
  184. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/running_app.py +0 -0
  185. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/sandbox_fs.py +0 -0
  186. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/sandbox_fs.pyi +0 -0
  187. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/schedule.py +0 -0
  188. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/scheduler_placement.py +0 -0
  189. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/secret.py +0 -0
  190. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/secret.pyi +0 -0
  191. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/server.py +0 -0
  192. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/server.pyi +0 -0
  193. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/serving.py +0 -0
  194. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/serving.pyi +0 -0
  195. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/skills/modal/SKILL.md +0 -0
  196. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/snapshot.py +0 -0
  197. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/snapshot.pyi +0 -0
  198. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/stream_type.py +0 -0
  199. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/token_flow.py +0 -0
  200. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/token_flow.pyi +0 -0
  201. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/types.py +0 -0
  202. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/volume.py +0 -0
  203. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/volume.pyi +0 -0
  204. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/workspace.py +0 -0
  205. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal/workspace.pyi +0 -0
  206. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/SOURCES.txt +0 -0
  207. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/dependency_links.txt +0 -0
  208. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/entry_points.txt +0 -0
  209. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/requires.txt +0 -0
  210. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal.egg-info/top_level.txt +0 -0
  211. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/__init__.py +0 -0
  212. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/gen_cli_docs.py +0 -0
  213. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/gen_cli_docs_main.py +0 -0
  214. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/gen_reference_docs.py +0 -0
  215. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/gen_reference_docs_main.py +0 -0
  216. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/mdmd/__init__.py +0 -0
  217. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/mdmd/mdmd.py +0 -0
  218. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/mdmd/signatures.py +0 -0
  219. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/mdmd/types.py +0 -0
  220. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_docs/reference_intro.md +0 -0
  221. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/__init__.py +0 -0
  222. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/api_grpc.py +0 -0
  223. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/api_pb2.py +0 -0
  224. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/api_pb2.pyi +0 -0
  225. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/api_pb2_grpc.py +0 -0
  226. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/api_pb2_grpc.pyi +0 -0
  227. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/modal_api_grpc.py +0 -0
  228. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/py.typed +0 -0
  229. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/task_command_router_grpc.py +0 -0
  230. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/task_command_router_pb2.py +0 -0
  231. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/task_command_router_pb2.pyi +0 -0
  232. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/task_command_router_pb2_grpc.py +0 -0
  233. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
  234. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/modal_version/__main__.py +0 -0
  235. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/pyproject.toml +0 -0
  236. {modal-1.5.6.dev7 → modal-1.5.6.dev8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.6.dev7
3
+ Version: 1.5.6.dev8
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -77,7 +77,7 @@ class _Client:
77
77
  server_url: str,
78
78
  client_type: int,
79
79
  credentials: typing.Optional[tuple[str, str]],
80
- version: str = "1.5.6.dev7",
80
+ version: str = "1.5.6.dev8",
81
81
  *,
82
82
  oauth_credentials: typing.Optional[_OAuthCredentials] = None,
83
83
  ):
@@ -277,7 +277,7 @@ class Client:
277
277
  server_url: str,
278
278
  client_type: int,
279
279
  credentials: typing.Optional[tuple[str, str]],
280
- version: str = "1.5.6.dev7",
280
+ version: str = "1.5.6.dev8",
281
281
  *,
282
282
  oauth_credentials: typing.Optional[_OAuthCredentials] = None,
283
283
  ):
@@ -195,7 +195,7 @@ class SandboxTimeoutError(TimeoutError):
195
195
 
196
196
 
197
197
  class SnapshotCreationError(Error):
198
- """Raised when a Sandbox fails to create an exit snapshot."""
198
+ """Snapshot operation is done and failed. Polling again will not produce an Image; filesystem state is gone."""
199
199
 
200
200
 
201
201
  class ExecTimeoutError(TimeoutError):
@@ -1462,6 +1462,11 @@ class _Sandbox(_Object, type_prefix="sb"):
1462
1462
  async def _experimental_get_exit_snapshot(self, timeout: float | None = None) -> _Image:
1463
1463
  """Get the exit filesystem snapshot image.
1464
1464
 
1465
+ An exit snapshot captures the Sandbox filesystem when the Sandbox exits,
1466
+ whether its entrypoint finishes gracefully, abruptly, or it is stopped with
1467
+ `terminate()`. Exit snapshots are opt-in: the Sandbox must have been
1468
+ created with `experimental_options={"enable_exit_snapshot": True}`.
1469
+
1465
1470
  Args:
1466
1471
  timeout: Total time to wait in seconds, spread across repeated long
1467
1472
  polls of at most `_EXIT_SNAPSHOT_LONG_POLL_TIMEOUT` seconds each.
@@ -1477,7 +1482,8 @@ class _Sandbox(_Object, type_prefix="sb"):
1477
1482
  TimeoutError: If `timeout` elapses before the snapshot reaches a
1478
1483
  terminal state. This includes `timeout=0` when the snapshot is
1479
1484
  still pending.
1480
- SnapshotCreationError: If no exit snapshot image will be produced.
1485
+ SnapshotCreationError: Snapshot operation is done and failed.
1486
+ Polling again will not produce an Image; filesystem state is gone.
1481
1487
  NotFoundError: If the sandbox does not exist.
1482
1488
  PermissionDeniedError: If the caller cannot access the sandbox.
1483
1489
  """
@@ -597,6 +597,11 @@ class _Sandbox(modal._object._Object):
597
597
  async def _experimental_get_exit_snapshot(self, timeout: typing.Optional[float] = None) -> modal._image._Image:
598
598
  """Get the exit filesystem snapshot image.
599
599
 
600
+ An exit snapshot captures the Sandbox filesystem when the Sandbox exits,
601
+ whether its entrypoint finishes gracefully, abruptly, or it is stopped with
602
+ `terminate()`. Exit snapshots are opt-in: the Sandbox must have been
603
+ created with `experimental_options={"enable_exit_snapshot": True}`.
604
+
600
605
  Args:
601
606
  timeout: Total time to wait in seconds, spread across repeated long
602
607
  polls of at most `_EXIT_SNAPSHOT_LONG_POLL_TIMEOUT` seconds each.
@@ -612,7 +617,8 @@ class _Sandbox(modal._object._Object):
612
617
  TimeoutError: If `timeout` elapses before the snapshot reaches a
613
618
  terminal state. This includes `timeout=0` when the snapshot is
614
619
  still pending.
615
- SnapshotCreationError: If no exit snapshot image will be produced.
620
+ SnapshotCreationError: Snapshot operation is done and failed.
621
+ Polling again will not produce an Image; filesystem state is gone.
616
622
  NotFoundError: If the sandbox does not exist.
617
623
  PermissionDeniedError: If the caller cannot access the sandbox.
618
624
  """
@@ -2457,6 +2463,11 @@ class Sandbox(modal.object.Object):
2457
2463
  def __call__(self, /, timeout: typing.Optional[float] = None) -> modal.image.Image:
2458
2464
  """Get the exit filesystem snapshot image.
2459
2465
 
2466
+ An exit snapshot captures the Sandbox filesystem when the Sandbox exits,
2467
+ whether its entrypoint finishes gracefully, abruptly, or it is stopped with
2468
+ `terminate()`. Exit snapshots are opt-in: the Sandbox must have been
2469
+ created with `experimental_options={"enable_exit_snapshot": True}`.
2470
+
2460
2471
  Args:
2461
2472
  timeout: Total time to wait in seconds, spread across repeated long
2462
2473
  polls of at most `_EXIT_SNAPSHOT_LONG_POLL_TIMEOUT` seconds each.
@@ -2472,7 +2483,8 @@ class Sandbox(modal.object.Object):
2472
2483
  TimeoutError: If `timeout` elapses before the snapshot reaches a
2473
2484
  terminal state. This includes `timeout=0` when the snapshot is
2474
2485
  still pending.
2475
- SnapshotCreationError: If no exit snapshot image will be produced.
2486
+ SnapshotCreationError: Snapshot operation is done and failed.
2487
+ Polling again will not produce an Image; filesystem state is gone.
2476
2488
  NotFoundError: If the sandbox does not exist.
2477
2489
  PermissionDeniedError: If the caller cannot access the sandbox.
2478
2490
  """
@@ -2481,6 +2493,11 @@ class Sandbox(modal.object.Object):
2481
2493
  async def aio(self, /, timeout: typing.Optional[float] = None) -> modal.image.Image:
2482
2494
  """Get the exit filesystem snapshot image.
2483
2495
 
2496
+ An exit snapshot captures the Sandbox filesystem when the Sandbox exits,
2497
+ whether its entrypoint finishes gracefully, abruptly, or it is stopped with
2498
+ `terminate()`. Exit snapshots are opt-in: the Sandbox must have been
2499
+ created with `experimental_options={"enable_exit_snapshot": True}`.
2500
+
2484
2501
  Args:
2485
2502
  timeout: Total time to wait in seconds, spread across repeated long
2486
2503
  polls of at most `_EXIT_SNAPSHOT_LONG_POLL_TIMEOUT` seconds each.
@@ -2496,7 +2513,8 @@ class Sandbox(modal.object.Object):
2496
2513
  TimeoutError: If `timeout` elapses before the snapshot reaches a
2497
2514
  terminal state. This includes `timeout=0` when the snapshot is
2498
2515
  still pending.
2499
- SnapshotCreationError: If no exit snapshot image will be produced.
2516
+ SnapshotCreationError: Snapshot operation is done and failed.
2517
+ Polling again will not produce an Image; filesystem state is gone.
2500
2518
  NotFoundError: If the sandbox does not exist.
2501
2519
  PermissionDeniedError: If the caller cannot access the sandbox.
2502
2520
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.5.6.dev7
3
+ Version: 1.5.6.dev8
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License-Expression: Apache-2.0
@@ -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.6.dev7"
4
+ __version__ = "1.5.6.dev8"
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
File without changes