modal 1.1.5.dev55__tar.gz → 1.1.5.dev56__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.dev55 → modal-1.1.5.dev56}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/client.pyi +2 -2
  3. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/experimental/__init__.py +25 -0
  4. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/functions.pyi +6 -6
  5. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_version/__init__.py +1 -1
  7. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/LICENSE +0 -0
  8. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/README.md +0 -0
  9. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/__init__.py +0 -0
  10. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/__main__.py +0 -0
  11. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_clustered_functions.py +0 -0
  12. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_clustered_functions.pyi +0 -0
  13. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_container_entrypoint.py +0 -0
  14. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_functions.py +0 -0
  15. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_ipython.py +0 -0
  16. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_location.py +0 -0
  17. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_object.py +0 -0
  18. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_output.py +0 -0
  19. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_partial_function.py +0 -0
  20. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_pty.py +0 -0
  21. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_resolver.py +0 -0
  22. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_resources.py +0 -0
  23. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/__init__.py +0 -0
  24. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/asgi.py +0 -0
  25. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/execution_context.py +0 -0
  28. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/telemetry.py +0 -0
  31. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_serialization.py +0 -0
  33. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_traceback.py +0 -0
  34. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_tunnel.py +0 -0
  35. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_tunnel.pyi +0 -0
  36. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_type_manager.py +0 -0
  37. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/__init__.py +0 -0
  38. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/app_utils.py +0 -0
  39. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/async_utils.py +0 -0
  40. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/auth_token_manager.py +0 -0
  41. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/logger.py +0 -0
  53. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_utils/time_utils.py +0 -0
  60. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_vendor/__init__.py +0 -0
  61. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  62. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_vendor/cloudpickle.py +0 -0
  63. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_vendor/tblib.py +0 -0
  64. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/_watcher.py +0 -0
  65. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/app.py +0 -0
  66. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/app.pyi +0 -0
  67. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/2023.12.312.txt +0 -0
  68. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/2023.12.txt +0 -0
  69. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/2024.04.txt +0 -0
  70. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/2024.10.txt +0 -0
  71. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/2025.06.txt +0 -0
  72. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/PREVIEW.txt +0 -0
  73. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/README.md +0 -0
  74. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/builder/base-images.json +0 -0
  75. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/call_graph.py +0 -0
  76. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/__init__.py +0 -0
  77. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/_download.py +0 -0
  78. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/_traceback.py +0 -0
  79. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/app.py +0 -0
  80. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/cluster.py +0 -0
  81. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/config.py +0 -0
  82. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/container.py +0 -0
  83. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/dict.py +0 -0
  84. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/entry_point.py +0 -0
  85. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/environment.py +0 -0
  86. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/import_refs.py +0 -0
  87. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/launch.py +0 -0
  88. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/network_file_system.py +0 -0
  89. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/profile.py +0 -0
  90. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/programs/__init__.py +0 -0
  91. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/programs/launch_instance_ssh.py +0 -0
  92. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/programs/run_jupyter.py +0 -0
  93. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/programs/run_marimo.py +0 -0
  94. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/programs/vscode.py +0 -0
  95. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/queues.py +0 -0
  96. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/run.py +0 -0
  97. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/secret.py +0 -0
  98. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/token.py +0 -0
  99. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/utils.py +0 -0
  100. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cli/volume.py +0 -0
  101. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/client.py +0 -0
  102. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cloud_bucket_mount.py +0 -0
  103. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cloud_bucket_mount.pyi +0 -0
  104. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cls.py +0 -0
  105. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/cls.pyi +0 -0
  106. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/config.py +0 -0
  107. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/container_process.py +0 -0
  108. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/container_process.pyi +0 -0
  109. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/dict.py +0 -0
  110. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/dict.pyi +0 -0
  111. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/environments.py +0 -0
  112. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/environments.pyi +0 -0
  113. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/exception.py +0 -0
  114. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/experimental/flash.py +0 -0
  115. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/experimental/flash.pyi +0 -0
  116. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/experimental/ipython.py +0 -0
  117. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/file_io.py +0 -0
  118. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/file_io.pyi +0 -0
  119. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/file_pattern_matcher.py +0 -0
  120. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/functions.py +0 -0
  121. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/gpu.py +0 -0
  122. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/image.py +0 -0
  123. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/image.pyi +0 -0
  124. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/io_streams.py +0 -0
  125. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/io_streams.pyi +0 -0
  126. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/mount.py +0 -0
  127. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/mount.pyi +0 -0
  128. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/network_file_system.py +0 -0
  129. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/network_file_system.pyi +0 -0
  130. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/object.py +0 -0
  131. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/object.pyi +0 -0
  132. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/output.py +0 -0
  133. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/parallel_map.py +0 -0
  134. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/parallel_map.pyi +0 -0
  135. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/partial_function.py +0 -0
  136. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/partial_function.pyi +0 -0
  137. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/proxy.py +0 -0
  138. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/proxy.pyi +0 -0
  139. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/py.typed +0 -0
  140. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/queue.py +0 -0
  141. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/queue.pyi +0 -0
  142. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/retries.py +0 -0
  143. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/runner.py +0 -0
  144. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/runner.pyi +0 -0
  145. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/running_app.py +0 -0
  146. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/sandbox.py +0 -0
  147. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/sandbox.pyi +0 -0
  148. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/schedule.py +0 -0
  149. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/scheduler_placement.py +0 -0
  150. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/secret.py +0 -0
  151. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/secret.pyi +0 -0
  152. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/serving.py +0 -0
  153. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/serving.pyi +0 -0
  154. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/snapshot.py +0 -0
  155. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/snapshot.pyi +0 -0
  156. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/stream_type.py +0 -0
  157. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/token_flow.py +0 -0
  158. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/token_flow.pyi +0 -0
  159. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/volume.py +0 -0
  160. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal/volume.pyi +0 -0
  161. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/SOURCES.txt +0 -0
  162. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/dependency_links.txt +0 -0
  163. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/entry_points.txt +0 -0
  164. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/requires.txt +0 -0
  165. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal.egg-info/top_level.txt +0 -0
  166. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/__init__.py +0 -0
  167. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/gen_cli_docs.py +0 -0
  168. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/gen_reference_docs.py +0 -0
  169. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/mdmd/__init__.py +0 -0
  170. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/mdmd/mdmd.py +0 -0
  171. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_docs/mdmd/signatures.py +0 -0
  172. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/__init__.py +0 -0
  173. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api.proto +0 -0
  174. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api_grpc.py +0 -0
  175. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api_pb2.py +0 -0
  176. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api_pb2.pyi +0 -0
  177. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api_pb2_grpc.py +0 -0
  178. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/api_pb2_grpc.pyi +0 -0
  179. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/modal_api_grpc.py +0 -0
  180. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router.proto +0 -0
  189. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router_grpc.py +0 -0
  190. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router_pb2.py +0 -0
  191. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router_pb2.pyi +0 -0
  192. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  193. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  194. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/modal_version/__main__.py +0 -0
  195. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/pyproject.toml +0 -0
  196. {modal-1.1.5.dev55 → modal-1.1.5.dev56}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev55
3
+ Version: 1.1.5.dev56
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.dev55",
36
+ version: str = "1.1.5.dev56",
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.dev55",
167
+ version: str = "1.1.5.dev56",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -384,3 +384,28 @@ async def update_autoscaler(
384
384
 
385
385
  request = api_pb2.FunctionUpdateSchedulingParamsRequest(function_id=f.object_id, settings=settings)
386
386
  await retry_transient_errors(client.stub.FunctionUpdateSchedulingParams, request)
387
+
388
+
389
+ @synchronizer.create_blocking
390
+ async def image_delete(
391
+ image_id: str,
392
+ *,
393
+ client: Optional[_Client] = None,
394
+ ) -> None:
395
+ """Delete an Image by its ID.
396
+
397
+ Deletion is irreversible and will prevent Apps from using the Image.
398
+
399
+ This is an experimental interface for a feature that we will be adding to
400
+ the main Image class. The stable form of this interface may look different.
401
+
402
+ Note: When building an Image, each chained method call will create an
403
+ intermediate Image layer, each with its own ID. Deleting an Image will not
404
+ delete any of its intermediate layers, only the image identified by the
405
+ provided ID.
406
+ """
407
+ if client is None:
408
+ client = await _Client.from_env()
409
+
410
+ req = api_pb2.ImageDeleteRequest(image_id=image_id)
411
+ await retry_transient_errors(client.stub.ImageDelete, req)
@@ -450,7 +450,7 @@ class Function(
450
450
 
451
451
  _call_generator: ___call_generator_spec[typing_extensions.Self]
452
452
 
453
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
453
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
454
454
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
455
455
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
456
456
  ...
@@ -459,7 +459,7 @@ class Function(
459
459
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
460
460
  ...
461
461
 
462
- remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
462
+ remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
463
463
 
464
464
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
465
465
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -486,7 +486,7 @@ class Function(
486
486
  """
487
487
  ...
488
488
 
489
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
489
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
490
490
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
491
491
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
492
492
 
@@ -510,7 +510,7 @@ class Function(
510
510
  ...
511
511
 
512
512
  _experimental_spawn: ___experimental_spawn_spec[
513
- modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
513
+ modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
514
514
  ]
515
515
 
516
516
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -519,7 +519,7 @@ class Function(
519
519
 
520
520
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
521
521
 
522
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
522
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
523
523
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
524
524
  """Calls the function with the given arguments, without waiting for the results.
525
525
 
@@ -540,7 +540,7 @@ class Function(
540
540
  """
541
541
  ...
542
542
 
543
- spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
543
+ spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
544
544
 
545
545
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
546
546
  """Return the inner Python object wrapped by this Modal Function."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev55
3
+ Version: 1.1.5.dev56
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.1.5.dev55"
4
+ __version__ = "1.1.5.dev56"
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