modal 1.1.1.dev18__tar.gz → 1.1.1.dev20__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 (188) hide show
  1. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/PKG-INFO +1 -1
  2. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/client.pyi +2 -2
  3. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/image.py +3 -5
  4. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/PKG-INFO +1 -1
  5. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api.proto +11 -0
  6. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api_grpc.py +16 -0
  7. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api_pb2.py +465 -445
  8. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api_pb2.pyi +36 -0
  9. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api_pb2_grpc.py +33 -0
  10. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/api_pb2_grpc.pyi +10 -0
  11. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/modal_api_grpc.py +1 -0
  12. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_version/__init__.py +1 -1
  13. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/LICENSE +0 -0
  14. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/README.md +0 -0
  15. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/__init__.py +0 -0
  16. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/__main__.py +0 -0
  17. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_clustered_functions.py +0 -0
  18. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_clustered_functions.pyi +0 -0
  19. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_container_entrypoint.py +0 -0
  20. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_functions.py +0 -0
  21. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_ipython.py +0 -0
  22. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_location.py +0 -0
  23. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_object.py +0 -0
  24. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_output.py +0 -0
  25. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_partial_function.py +0 -0
  26. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_pty.py +0 -0
  27. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_resolver.py +0 -0
  28. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_resources.py +0 -0
  29. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/__init__.py +0 -0
  30. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/asgi.py +0 -0
  31. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/container_io_manager.py +0 -0
  32. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/container_io_manager.pyi +0 -0
  33. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/execution_context.py +0 -0
  34. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/execution_context.pyi +0 -0
  35. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  36. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/telemetry.py +0 -0
  37. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_runtime/user_code_imports.py +0 -0
  38. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_serialization.py +0 -0
  39. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_traceback.py +0 -0
  40. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_tunnel.py +0 -0
  41. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_tunnel.pyi +0 -0
  42. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_type_manager.py +0 -0
  43. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/__init__.py +0 -0
  44. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/app_utils.py +0 -0
  45. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/async_utils.py +0 -0
  46. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/auth_token_manager.py +0 -0
  47. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/blob_utils.py +0 -0
  48. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/bytes_io_segment_payload.py +0 -0
  49. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/deprecation.py +0 -0
  50. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/docker_utils.py +0 -0
  51. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/function_utils.py +0 -0
  52. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/git_utils.py +0 -0
  53. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/grpc_testing.py +0 -0
  54. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/grpc_utils.py +0 -0
  55. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/hash_utils.py +0 -0
  56. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/http_utils.py +0 -0
  57. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/jwt_utils.py +0 -0
  58. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/logger.py +0 -0
  59. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/mount_utils.py +0 -0
  60. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/name_utils.py +0 -0
  61. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/package_utils.py +0 -0
  62. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/pattern_utils.py +0 -0
  63. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/rand_pb_testing.py +0 -0
  64. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/shell_utils.py +0 -0
  65. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_utils/time_utils.py +0 -0
  66. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_vendor/__init__.py +0 -0
  67. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  68. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_vendor/cloudpickle.py +0 -0
  69. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_vendor/tblib.py +0 -0
  70. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/_watcher.py +0 -0
  71. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/app.py +0 -0
  72. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/app.pyi +0 -0
  73. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/call_graph.py +0 -0
  74. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/__init__.py +0 -0
  75. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/_download.py +0 -0
  76. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/_traceback.py +0 -0
  77. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/app.py +0 -0
  78. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/cluster.py +0 -0
  79. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/config.py +0 -0
  80. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/container.py +0 -0
  81. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/dict.py +0 -0
  82. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/entry_point.py +0 -0
  83. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/environment.py +0 -0
  84. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/import_refs.py +0 -0
  85. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/launch.py +0 -0
  86. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/network_file_system.py +0 -0
  87. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/profile.py +0 -0
  88. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/programs/__init__.py +0 -0
  89. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/programs/run_jupyter.py +0 -0
  90. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/programs/vscode.py +0 -0
  91. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/queues.py +0 -0
  92. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/run.py +0 -0
  93. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/secret.py +0 -0
  94. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/token.py +0 -0
  95. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/utils.py +0 -0
  96. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cli/volume.py +0 -0
  97. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/client.py +0 -0
  98. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cloud_bucket_mount.py +0 -0
  99. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cloud_bucket_mount.pyi +0 -0
  100. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cls.py +0 -0
  101. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/cls.pyi +0 -0
  102. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/config.py +0 -0
  103. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/container_process.py +0 -0
  104. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/container_process.pyi +0 -0
  105. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/dict.py +0 -0
  106. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/dict.pyi +0 -0
  107. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/environments.py +0 -0
  108. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/environments.pyi +0 -0
  109. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/exception.py +0 -0
  110. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/experimental/__init__.py +0 -0
  111. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/experimental/flash.py +0 -0
  112. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/experimental/flash.pyi +0 -0
  113. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/experimental/ipython.py +0 -0
  114. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/file_io.py +0 -0
  115. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/file_io.pyi +0 -0
  116. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/file_pattern_matcher.py +0 -0
  117. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/functions.py +0 -0
  118. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/functions.pyi +0 -0
  119. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/gpu.py +0 -0
  120. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/image.pyi +0 -0
  121. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/io_streams.py +0 -0
  122. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/io_streams.pyi +0 -0
  123. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/mount.py +0 -0
  124. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/mount.pyi +0 -0
  125. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/network_file_system.py +0 -0
  126. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/network_file_system.pyi +0 -0
  127. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/object.py +0 -0
  128. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/object.pyi +0 -0
  129. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/output.py +0 -0
  130. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/parallel_map.py +0 -0
  131. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/parallel_map.pyi +0 -0
  132. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/partial_function.py +0 -0
  133. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/partial_function.pyi +0 -0
  134. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/proxy.py +0 -0
  135. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/proxy.pyi +0 -0
  136. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/py.typed +0 -0
  137. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/queue.py +0 -0
  138. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/queue.pyi +0 -0
  139. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/2023.12.312.txt +0 -0
  140. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/2023.12.txt +0 -0
  141. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/2024.04.txt +0 -0
  142. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/2024.10.txt +0 -0
  143. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/2025.06.txt +0 -0
  144. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/PREVIEW.txt +0 -0
  145. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/README.md +0 -0
  146. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/requirements/base-images.json +0 -0
  147. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/retries.py +0 -0
  148. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/runner.py +0 -0
  149. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/runner.pyi +0 -0
  150. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/running_app.py +0 -0
  151. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/sandbox.py +0 -0
  152. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/sandbox.pyi +0 -0
  153. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/schedule.py +0 -0
  154. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/scheduler_placement.py +0 -0
  155. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/secret.py +0 -0
  156. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/secret.pyi +0 -0
  157. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/serving.py +0 -0
  158. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/serving.pyi +0 -0
  159. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/snapshot.py +0 -0
  160. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/snapshot.pyi +0 -0
  161. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/stream_type.py +0 -0
  162. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/token_flow.py +0 -0
  163. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/token_flow.pyi +0 -0
  164. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/volume.py +0 -0
  165. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal/volume.pyi +0 -0
  166. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/SOURCES.txt +0 -0
  167. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/dependency_links.txt +0 -0
  168. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/entry_points.txt +0 -0
  169. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/requires.txt +0 -0
  170. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal.egg-info/top_level.txt +0 -0
  171. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/__init__.py +0 -0
  172. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/gen_cli_docs.py +0 -0
  173. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/gen_reference_docs.py +0 -0
  174. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/mdmd/__init__.py +0 -0
  175. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/mdmd/mdmd.py +0 -0
  176. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_docs/mdmd/signatures.py +0 -0
  177. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/__init__.py +0 -0
  178. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/modal_options_grpc.py +0 -0
  179. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options.proto +0 -0
  180. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options_grpc.py +0 -0
  181. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options_pb2.py +0 -0
  182. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options_pb2.pyi +0 -0
  183. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options_pb2_grpc.py +0 -0
  184. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/options_pb2_grpc.pyi +0 -0
  185. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_proto/py.typed +0 -0
  186. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/modal_version/__main__.py +0 -0
  187. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/pyproject.toml +0 -0
  188. {modal-1.1.1.dev18 → modal-1.1.1.dev20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.1.dev18
3
+ Version: 1.1.1.dev20
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.1.dev18",
36
+ version: str = "1.1.1.dev20",
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.1.dev18",
167
+ version: str = "1.1.1.dev20",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -658,15 +658,13 @@ class _Image(_Object, type_prefix="im"):
658
658
  msg += " (Hint: Use `modal.enable_output()` to see logs from the process building the Image.)"
659
659
  raise RemoteError(msg)
660
660
  elif result.status == api_pb2.GenericResult.GENERIC_STATUS_TERMINATED:
661
+ msg = f"Image build for {image_id} terminated due to external shut-down. Please try again."
661
662
  if result.exception:
662
- raise RemoteError(
663
+ msg = (
663
664
  f"Image build for {image_id} terminated due to external shut-down with the exception:\n"
664
665
  f"{result.exception}"
665
666
  )
666
- else:
667
- raise RemoteError(
668
- f"Image build for {image_id} terminated due to external shut-down. Please try again."
669
- )
667
+ raise RemoteError(msg)
670
668
  elif result.status == api_pb2.GenericResult.GENERIC_STATUS_TIMEOUT:
671
669
  raise RemoteError(
672
670
  f"Image build for {image_id} timed out. Please try again with a larger `timeout` parameter."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.1.dev18
3
+ Version: 1.1.1.dev20
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -2105,6 +2105,16 @@ message MapAwaitResponse {
2105
2105
  string last_entry_id = 2;
2106
2106
  }
2107
2107
 
2108
+ message MapCheckInputsRequest {
2109
+ string last_entry_id = 1;
2110
+ float timeout = 2;
2111
+ repeated string attempt_tokens = 3;
2112
+ }
2113
+
2114
+ message MapCheckInputsResponse {
2115
+ repeated bool lost = 1;
2116
+ }
2117
+
2108
2118
  message MapStartOrContinueItem {
2109
2119
  FunctionPutInputsItem input = 1;
2110
2120
  optional string attempt_token = 2; // None if this is a fresh input, otherwise it is the attempt token for a retry.
@@ -3472,6 +3482,7 @@ service ModalClient {
3472
3482
 
3473
3483
  // Input Plane Map
3474
3484
  rpc MapAwait(MapAwaitRequest) returns (MapAwaitResponse);
3485
+ rpc MapCheckInputs(MapCheckInputsRequest) returns (MapCheckInputsResponse);
3475
3486
  rpc MapStartOrContinue(MapStartOrContinueRequest) returns (MapStartOrContinueResponse);
3476
3487
 
3477
3488
  // Mounts
@@ -366,6 +366,10 @@ class ModalClientBase(abc.ABC):
366
366
  async def MapAwait(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapAwaitRequest, modal_proto.api_pb2.MapAwaitResponse]') -> None:
367
367
  pass
368
368
 
369
+ @abc.abstractmethod
370
+ async def MapCheckInputs(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapCheckInputsRequest, modal_proto.api_pb2.MapCheckInputsResponse]') -> None:
371
+ pass
372
+
369
373
  @abc.abstractmethod
370
374
  async def MapStartOrContinue(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapStartOrContinueRequest, modal_proto.api_pb2.MapStartOrContinueResponse]') -> None:
371
375
  pass
@@ -1186,6 +1190,12 @@ class ModalClientBase(abc.ABC):
1186
1190
  modal_proto.api_pb2.MapAwaitRequest,
1187
1191
  modal_proto.api_pb2.MapAwaitResponse,
1188
1192
  ),
1193
+ '/modal.client.ModalClient/MapCheckInputs': grpclib.const.Handler(
1194
+ self.MapCheckInputs,
1195
+ grpclib.const.Cardinality.UNARY_UNARY,
1196
+ modal_proto.api_pb2.MapCheckInputsRequest,
1197
+ modal_proto.api_pb2.MapCheckInputsResponse,
1198
+ ),
1189
1199
  '/modal.client.ModalClient/MapStartOrContinue': grpclib.const.Handler(
1190
1200
  self.MapStartOrContinue,
1191
1201
  grpclib.const.Cardinality.UNARY_UNARY,
@@ -2158,6 +2168,12 @@ class ModalClientStub:
2158
2168
  modal_proto.api_pb2.MapAwaitRequest,
2159
2169
  modal_proto.api_pb2.MapAwaitResponse,
2160
2170
  )
2171
+ self.MapCheckInputs = grpclib.client.UnaryUnaryMethod(
2172
+ channel,
2173
+ '/modal.client.ModalClient/MapCheckInputs',
2174
+ modal_proto.api_pb2.MapCheckInputsRequest,
2175
+ modal_proto.api_pb2.MapCheckInputsResponse,
2176
+ )
2161
2177
  self.MapStartOrContinue = grpclib.client.UnaryUnaryMethod(
2162
2178
  channel,
2163
2179
  '/modal.client.ModalClient/MapStartOrContinue',