modal 1.1.5.dev63__tar.gz → 1.1.5.dev65__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.dev63 → modal-1.1.5.dev65}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_functions.py +3 -36
  3. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/environment.py +4 -3
  4. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/client.pyi +2 -2
  5. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cls.py +0 -41
  6. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cls.pyi +0 -78
  7. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/dict.py +0 -41
  8. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/dict.pyi +0 -77
  9. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/environments.py +0 -20
  10. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/environments.pyi +0 -14
  11. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/functions.pyi +0 -49
  12. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/mount.py +0 -22
  13. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/mount.pyi +0 -22
  14. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/network_file_system.py +1 -40
  15. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/network_file_system.pyi +0 -74
  16. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/queue.py +0 -39
  17. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/queue.pyi +0 -74
  18. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/secret.py +0 -29
  19. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/secret.pyi +0 -38
  20. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/volume.py +0 -41
  21. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/volume.pyi +0 -77
  22. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/PKG-INFO +1 -1
  23. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_version/__init__.py +1 -1
  24. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/LICENSE +0 -0
  25. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/README.md +0 -0
  26. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/__init__.py +0 -0
  27. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/__main__.py +0 -0
  28. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_clustered_functions.py +0 -0
  29. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_clustered_functions.pyi +0 -0
  30. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_container_entrypoint.py +0 -0
  31. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_ipython.py +0 -0
  32. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_location.py +0 -0
  33. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_object.py +0 -0
  34. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_output.py +0 -0
  35. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_partial_function.py +0 -0
  36. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_pty.py +0 -0
  37. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_resolver.py +0 -0
  38. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_resources.py +0 -0
  39. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/__init__.py +0 -0
  40. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/asgi.py +0 -0
  41. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/container_io_manager.py +0 -0
  42. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/container_io_manager.pyi +0 -0
  43. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/execution_context.py +0 -0
  44. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/execution_context.pyi +0 -0
  45. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  46. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/telemetry.py +0 -0
  47. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_runtime/user_code_imports.py +0 -0
  48. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_serialization.py +0 -0
  49. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_traceback.py +0 -0
  50. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_tunnel.py +0 -0
  51. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_tunnel.pyi +0 -0
  52. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_type_manager.py +0 -0
  53. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/__init__.py +0 -0
  54. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/app_utils.py +0 -0
  55. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/async_utils.py +0 -0
  56. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/auth_token_manager.py +0 -0
  57. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/blob_utils.py +0 -0
  58. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/bytes_io_segment_payload.py +0 -0
  59. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/deprecation.py +0 -0
  60. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/docker_utils.py +0 -0
  61. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/function_utils.py +0 -0
  62. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/git_utils.py +0 -0
  63. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/grpc_testing.py +0 -0
  64. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/grpc_utils.py +0 -0
  65. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/hash_utils.py +0 -0
  66. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/http_utils.py +0 -0
  67. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/jwt_utils.py +0 -0
  68. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/logger.py +0 -0
  69. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/mount_utils.py +0 -0
  70. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/name_utils.py +0 -0
  71. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/package_utils.py +0 -0
  72. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/pattern_utils.py +0 -0
  73. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/rand_pb_testing.py +0 -0
  74. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/shell_utils.py +0 -0
  75. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_utils/time_utils.py +0 -0
  76. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_vendor/__init__.py +0 -0
  77. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  78. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_vendor/cloudpickle.py +0 -0
  79. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_vendor/tblib.py +0 -0
  80. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/_watcher.py +0 -0
  81. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/app.py +0 -0
  82. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/app.pyi +0 -0
  83. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/2023.12.312.txt +0 -0
  84. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/2023.12.txt +0 -0
  85. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/2024.04.txt +0 -0
  86. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/2024.10.txt +0 -0
  87. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/2025.06.txt +0 -0
  88. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/PREVIEW.txt +0 -0
  89. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/README.md +0 -0
  90. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/builder/base-images.json +0 -0
  91. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/call_graph.py +0 -0
  92. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/__init__.py +0 -0
  93. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/_download.py +0 -0
  94. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/_traceback.py +0 -0
  95. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/app.py +0 -0
  96. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/cluster.py +0 -0
  97. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/config.py +0 -0
  98. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/container.py +0 -0
  99. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/dict.py +0 -0
  100. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/entry_point.py +0 -0
  101. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/import_refs.py +0 -0
  102. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/launch.py +0 -0
  103. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/network_file_system.py +0 -0
  104. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/profile.py +0 -0
  105. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/programs/__init__.py +0 -0
  106. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/programs/launch_instance_ssh.py +0 -0
  107. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/programs/run_jupyter.py +0 -0
  108. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/programs/run_marimo.py +0 -0
  109. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/programs/vscode.py +0 -0
  110. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/queues.py +0 -0
  111. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/run.py +0 -0
  112. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/secret.py +0 -0
  113. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/token.py +0 -0
  114. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/utils.py +0 -0
  115. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cli/volume.py +0 -0
  116. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/client.py +0 -0
  117. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cloud_bucket_mount.py +0 -0
  118. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/cloud_bucket_mount.pyi +0 -0
  119. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/config.py +0 -0
  120. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/container_process.py +0 -0
  121. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/container_process.pyi +0 -0
  122. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/exception.py +0 -0
  123. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/experimental/__init__.py +0 -0
  124. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/experimental/flash.py +0 -0
  125. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/experimental/flash.pyi +0 -0
  126. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/experimental/ipython.py +0 -0
  127. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/file_io.py +0 -0
  128. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/file_io.pyi +0 -0
  129. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/file_pattern_matcher.py +0 -0
  130. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/functions.py +0 -0
  131. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/gpu.py +0 -0
  132. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/image.py +0 -0
  133. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/image.pyi +0 -0
  134. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/io_streams.py +0 -0
  135. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/io_streams.pyi +0 -0
  136. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/object.py +0 -0
  137. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/object.pyi +0 -0
  138. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/output.py +0 -0
  139. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/parallel_map.py +0 -0
  140. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/parallel_map.pyi +0 -0
  141. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/partial_function.py +0 -0
  142. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/partial_function.pyi +0 -0
  143. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/proxy.py +0 -0
  144. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/proxy.pyi +0 -0
  145. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/py.typed +0 -0
  146. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/retries.py +0 -0
  147. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/runner.py +0 -0
  148. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/runner.pyi +0 -0
  149. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/running_app.py +0 -0
  150. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/sandbox.py +0 -0
  151. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/sandbox.pyi +0 -0
  152. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/schedule.py +0 -0
  153. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/scheduler_placement.py +0 -0
  154. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/serving.py +0 -0
  155. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/serving.pyi +0 -0
  156. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/snapshot.py +0 -0
  157. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/snapshot.pyi +0 -0
  158. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/stream_type.py +0 -0
  159. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/token_flow.py +0 -0
  160. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal/token_flow.pyi +0 -0
  161. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/SOURCES.txt +0 -0
  162. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/dependency_links.txt +0 -0
  163. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/entry_points.txt +0 -0
  164. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/requires.txt +0 -0
  165. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal.egg-info/top_level.txt +0 -0
  166. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/__init__.py +0 -0
  167. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/gen_cli_docs.py +0 -0
  168. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/gen_reference_docs.py +0 -0
  169. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/mdmd/__init__.py +0 -0
  170. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/mdmd/mdmd.py +0 -0
  171. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_docs/mdmd/signatures.py +0 -0
  172. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/__init__.py +0 -0
  173. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api.proto +0 -0
  174. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api_grpc.py +0 -0
  175. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api_pb2.py +0 -0
  176. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api_pb2.pyi +0 -0
  177. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api_pb2_grpc.py +0 -0
  178. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/api_pb2_grpc.pyi +0 -0
  179. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/modal_api_grpc.py +0 -0
  180. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router.proto +0 -0
  189. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router_grpc.py +0 -0
  190. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router_pb2.py +0 -0
  191. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router_pb2.pyi +0 -0
  192. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
  193. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
  194. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/modal_version/__main__.py +0 -0
  195. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/pyproject.toml +0 -0
  196. {modal-1.1.5.dev63 → modal-1.1.5.dev65}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev63
3
+ Version: 1.1.5.dev65
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1429,40 +1429,6 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
1429
1429
  warn_if_passing_namespace(namespace, "modal.Function.from_name")
1430
1430
  return cls._from_name(app_name, name, environment_name=environment_name)
1431
1431
 
1432
- @staticmethod
1433
- async def lookup(
1434
- app_name: str,
1435
- name: str,
1436
- namespace=None, # mdmd:line-hidden
1437
- client: Optional[_Client] = None,
1438
- environment_name: Optional[str] = None,
1439
- ) -> "_Function":
1440
- """mdmd:hidden
1441
- Lookup a Function from a deployed App by its name.
1442
-
1443
- DEPRECATED: This method is deprecated in favor of `modal.Function.from_name`.
1444
-
1445
- In contrast to `modal.Function.from_name`, this is an eager method
1446
- that will hydrate the local object with metadata from Modal servers.
1447
-
1448
- ```python notest
1449
- f = modal.Function.lookup("other-app", "function")
1450
- ```
1451
- """
1452
- deprecation_warning(
1453
- (2025, 1, 27),
1454
- "`modal.Function.lookup` is deprecated and will be removed in a future release."
1455
- " It can be replaced with `modal.Function.from_name`."
1456
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
1457
- )
1458
- warn_if_passing_namespace(namespace, "modal.Function.lookup")
1459
- obj = _Function.from_name(app_name, name, environment_name=environment_name)
1460
- if client is None:
1461
- client = await _Client.from_env()
1462
- resolver = Resolver(client=client)
1463
- await resolver.load(obj)
1464
- return obj
1465
-
1466
1432
  @property
1467
1433
  def tag(self) -> str:
1468
1434
  """mdmd:hidden"""
@@ -1811,8 +1777,9 @@ Use the `Function.get_web_url()` method instead.
1811
1777
  # "user code" to run on the synchronicity thread, which seems bad
1812
1778
  if not self._is_local():
1813
1779
  msg = (
1814
- "The definition for this function is missing here so it is not possible to invoke it locally. "
1815
- "If this function was retrieved via `Function.lookup` you need to use `.remote()`."
1780
+ "The definition for this Function is missing, so it is not possible to invoke it locally. "
1781
+ "If this function was retrieved via `Function.from_name`, "
1782
+ "you need to use one of the remote invocation methods instead."
1816
1783
  )
1817
1784
  raise ExecutionError(msg)
1818
1785
 
@@ -8,7 +8,7 @@ from rich.text import Text
8
8
 
9
9
  from modal import environments
10
10
  from modal._utils.name_utils import check_environment_name
11
- from modal.cli.utils import display_table
11
+ from modal.cli.utils import YES_OPTION, display_table
12
12
  from modal.config import config
13
13
  from modal.exception import InvalidError
14
14
 
@@ -80,9 +80,10 @@ Deletes all apps in the selected environment and deletes the environment irrevoc
80
80
  @environment_cli.command(name="delete", help=ENVIRONMENT_DELETE_HELP)
81
81
  def delete(
82
82
  name: str = typer.Argument(help="Name of the environment to be deleted. Case sensitive"),
83
- confirm: bool = typer.Option(default=False, help="Set this flag to delete without prompting for confirmation"),
83
+ *,
84
+ yes: bool = YES_OPTION,
84
85
  ):
85
- if not confirm:
86
+ if not yes:
86
87
  typer.confirm(
87
88
  (
88
89
  f"Are you sure you want to irrevocably delete the environment '{name}' and"
@@ -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.dev63",
36
+ version: str = "1.1.5.dev65",
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.dev63",
167
+ version: str = "1.1.5.dev65",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -32,7 +32,6 @@ from ._utils.deprecation import (
32
32
  )
33
33
  from ._utils.grpc_utils import retry_transient_errors
34
34
  from ._utils.mount_utils import validate_volumes
35
- from .client import _Client
36
35
  from .cloud_bucket_mount import _CloudBucketMount
37
36
  from .config import config
38
37
  from .exception import ExecutionError, InvalidError, NotFoundError
@@ -852,46 +851,6 @@ More information on class parameterization can be found here: https://modal.com/
852
851
  cls._options.merge_options(batching_options)
853
852
  return cls
854
853
 
855
- @staticmethod
856
- async def lookup(
857
- app_name: str,
858
- name: str,
859
- namespace=None, # mdmd:line-hidden
860
- client: Optional[_Client] = None,
861
- environment_name: Optional[str] = None,
862
- ) -> "_Cls":
863
- """mdmd:hidden
864
- Lookup a Cls from a deployed App by its name.
865
-
866
- DEPRECATED: This method is deprecated in favor of `modal.Cls.from_name`.
867
-
868
- In contrast to `modal.Cls.from_name`, this is an eager method
869
- that will hydrate the local object with metadata from Modal servers.
870
-
871
- ```python notest
872
- Model = modal.Cls.from_name("other-app", "Model")
873
- model = Model()
874
- model.inference(...)
875
- ```
876
- """
877
- deprecation_warning(
878
- (2025, 1, 27),
879
- "`modal.Cls.lookup` is deprecated and will be removed in a future release."
880
- " It can be replaced with `modal.Cls.from_name`."
881
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
882
- )
883
- warn_if_passing_namespace(namespace, "modal.Cls.lookup")
884
- obj = _Cls.from_name(
885
- app_name,
886
- name,
887
- environment_name=environment_name,
888
- )
889
- if client is None:
890
- client = await _Client.from_env()
891
- resolver = Resolver(client=client)
892
- await resolver.load(obj)
893
- return obj
894
-
895
854
  @synchronizer.no_input_translation
896
855
  def __call__(self, *args, **kwargs) -> _Obj:
897
856
  """This acts as the class constructor."""
@@ -5,7 +5,6 @@ import modal._functions
5
5
  import modal._object
6
6
  import modal._partial_function
7
7
  import modal.app
8
- import modal.client
9
8
  import modal.cloud_bucket_mount
10
9
  import modal.functions
11
10
  import modal.gpu
@@ -471,30 +470,6 @@ class _Cls(modal._object._Object):
471
470
  """
472
471
  ...
473
472
 
474
- @staticmethod
475
- async def lookup(
476
- app_name: str,
477
- name: str,
478
- namespace=None,
479
- client: typing.Optional[modal.client._Client] = None,
480
- environment_name: typing.Optional[str] = None,
481
- ) -> _Cls:
482
- """mdmd:hidden
483
- Lookup a Cls from a deployed App by its name.
484
-
485
- DEPRECATED: This method is deprecated in favor of `modal.Cls.from_name`.
486
-
487
- In contrast to `modal.Cls.from_name`, this is an eager method
488
- that will hydrate the local object with metadata from Modal servers.
489
-
490
- ```python notest
491
- Model = modal.Cls.from_name("other-app", "Model")
492
- model = Model()
493
- model.inference(...)
494
- ```
495
- """
496
- ...
497
-
498
473
  def __call__(self, *args, **kwargs) -> _Obj:
499
474
  """This acts as the class constructor."""
500
475
  ...
@@ -653,59 +628,6 @@ class Cls(modal.object.Object):
653
628
  """
654
629
  ...
655
630
 
656
- class __lookup_spec(typing_extensions.Protocol):
657
- def __call__(
658
- self,
659
- /,
660
- app_name: str,
661
- name: str,
662
- namespace=None,
663
- client: typing.Optional[modal.client.Client] = None,
664
- environment_name: typing.Optional[str] = None,
665
- ) -> Cls:
666
- """mdmd:hidden
667
- Lookup a Cls from a deployed App by its name.
668
-
669
- DEPRECATED: This method is deprecated in favor of `modal.Cls.from_name`.
670
-
671
- In contrast to `modal.Cls.from_name`, this is an eager method
672
- that will hydrate the local object with metadata from Modal servers.
673
-
674
- ```python notest
675
- Model = modal.Cls.from_name("other-app", "Model")
676
- model = Model()
677
- model.inference(...)
678
- ```
679
- """
680
- ...
681
-
682
- async def aio(
683
- self,
684
- /,
685
- app_name: str,
686
- name: str,
687
- namespace=None,
688
- client: typing.Optional[modal.client.Client] = None,
689
- environment_name: typing.Optional[str] = None,
690
- ) -> Cls:
691
- """mdmd:hidden
692
- Lookup a Cls from a deployed App by its name.
693
-
694
- DEPRECATED: This method is deprecated in favor of `modal.Cls.from_name`.
695
-
696
- In contrast to `modal.Cls.from_name`, this is an eager method
697
- that will hydrate the local object with metadata from Modal servers.
698
-
699
- ```python notest
700
- Model = modal.Cls.from_name("other-app", "Model")
701
- model = Model()
702
- model.inference(...)
703
- ```
704
- """
705
- ...
706
-
707
- lookup: __lookup_spec
708
-
709
631
  def __call__(self, *args, **kwargs) -> Obj:
710
632
  """This acts as the class constructor."""
711
633
  ...
@@ -383,47 +383,6 @@ class _Dict(_Object, type_prefix="di"):
383
383
  rep = _Dict._repr(name, environment_name)
384
384
  return _Dict._from_loader(_load, rep, is_another_app=True, hydrate_lazily=True, name=name)
385
385
 
386
- @staticmethod
387
- async def lookup(
388
- name: str,
389
- data: Optional[dict] = None,
390
- namespace=None, # mdmd:line-hidden
391
- client: Optional[_Client] = None,
392
- environment_name: Optional[str] = None,
393
- create_if_missing: bool = False,
394
- ) -> "_Dict":
395
- """mdmd:hidden
396
- Lookup a named Dict.
397
-
398
- DEPRECATED: This method is deprecated in favor of `modal.Dict.from_name`.
399
-
400
- In contrast to `modal.Dict.from_name`, this is an eager method
401
- that will hydrate the local object with metadata from Modal servers.
402
-
403
- ```python
404
- d = modal.Dict.from_name("my-dict")
405
- d["xyz"] = 123
406
- ```
407
- """
408
- deprecation_warning(
409
- (2025, 1, 27),
410
- "`modal.Dict.lookup` is deprecated and will be removed in a future release."
411
- " It can be replaced with `modal.Dict.from_name`."
412
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
413
- )
414
- warn_if_passing_namespace(namespace, "modal.Dict.lookup")
415
- obj = _Dict.from_name(
416
- name,
417
- data=data,
418
- environment_name=environment_name,
419
- create_if_missing=create_if_missing,
420
- )
421
- if client is None:
422
- client = await _Client.from_env()
423
- resolver = Resolver(client=client)
424
- await resolver.load(obj)
425
- return obj
426
-
427
386
  @staticmethod
428
387
  async def delete(
429
388
  name: str,
@@ -462,30 +462,6 @@ class _Dict(modal._object._Object):
462
462
  """
463
463
  ...
464
464
 
465
- @staticmethod
466
- async def lookup(
467
- name: str,
468
- data: typing.Optional[dict] = None,
469
- namespace=None,
470
- client: typing.Optional[modal.client._Client] = None,
471
- environment_name: typing.Optional[str] = None,
472
- create_if_missing: bool = False,
473
- ) -> _Dict:
474
- """mdmd:hidden
475
- Lookup a named Dict.
476
-
477
- DEPRECATED: This method is deprecated in favor of `modal.Dict.from_name`.
478
-
479
- In contrast to `modal.Dict.from_name`, this is an eager method
480
- that will hydrate the local object with metadata from Modal servers.
481
-
482
- ```python
483
- d = modal.Dict.from_name("my-dict")
484
- d["xyz"] = 123
485
- ```
486
- """
487
- ...
488
-
489
465
  @staticmethod
490
466
  async def delete(
491
467
  name: str,
@@ -704,59 +680,6 @@ class Dict(modal.object.Object):
704
680
  """
705
681
  ...
706
682
 
707
- class __lookup_spec(typing_extensions.Protocol):
708
- def __call__(
709
- self,
710
- /,
711
- name: str,
712
- data: typing.Optional[dict] = None,
713
- namespace=None,
714
- client: typing.Optional[modal.client.Client] = None,
715
- environment_name: typing.Optional[str] = None,
716
- create_if_missing: bool = False,
717
- ) -> Dict:
718
- """mdmd:hidden
719
- Lookup a named Dict.
720
-
721
- DEPRECATED: This method is deprecated in favor of `modal.Dict.from_name`.
722
-
723
- In contrast to `modal.Dict.from_name`, this is an eager method
724
- that will hydrate the local object with metadata from Modal servers.
725
-
726
- ```python
727
- d = modal.Dict.from_name("my-dict")
728
- d["xyz"] = 123
729
- ```
730
- """
731
- ...
732
-
733
- async def aio(
734
- self,
735
- /,
736
- name: str,
737
- data: typing.Optional[dict] = None,
738
- namespace=None,
739
- client: typing.Optional[modal.client.Client] = None,
740
- environment_name: typing.Optional[str] = None,
741
- create_if_missing: bool = False,
742
- ) -> Dict:
743
- """mdmd:hidden
744
- Lookup a named Dict.
745
-
746
- DEPRECATED: This method is deprecated in favor of `modal.Dict.from_name`.
747
-
748
- In contrast to `modal.Dict.from_name`, this is an eager method
749
- that will hydrate the local object with metadata from Modal servers.
750
-
751
- ```python
752
- d = modal.Dict.from_name("my-dict")
753
- d["xyz"] = 123
754
- ```
755
- """
756
- ...
757
-
758
- lookup: __lookup_spec
759
-
760
683
  class __delete_spec(typing_extensions.Protocol):
761
684
  def __call__(
762
685
  self,
@@ -11,7 +11,6 @@ from modal_proto import api_pb2
11
11
  from ._object import _Object
12
12
  from ._resolver import Resolver
13
13
  from ._utils.async_utils import synchronize_api, synchronizer
14
- from ._utils.deprecation import deprecation_warning
15
14
  from ._utils.grpc_utils import retry_transient_errors
16
15
  from ._utils.name_utils import check_object_name
17
16
  from .client import _Client
@@ -79,25 +78,6 @@ class _Environment(_Object, type_prefix="en"):
79
78
  # TODO environment name (and id?) in the repr? (We should make reprs consistently more useful)
80
79
  return _Environment._from_loader(_load, "Environment()", is_another_app=True, hydrate_lazily=True)
81
80
 
82
- @staticmethod
83
- async def lookup(
84
- name: str,
85
- client: Optional[_Client] = None,
86
- create_if_missing: bool = False,
87
- ):
88
- deprecation_warning(
89
- (2025, 1, 27),
90
- "`modal.Environment.lookup` is deprecated and will be removed in a future release."
91
- " It can be replaced with `modal.Environment.from_name`."
92
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
93
- )
94
- obj = _Environment.from_name(name, create_if_missing=create_if_missing)
95
- if client is None:
96
- client = await _Client.from_env()
97
- resolver = Resolver(client=client)
98
- await resolver.load(obj)
99
- return obj
100
-
101
81
 
102
82
  Environment = synchronize_api(_Environment)
103
83
 
@@ -46,10 +46,6 @@ class _Environment(modal._object._Object):
46
46
  def _hydrate_metadata(self, metadata: google.protobuf.message.Message): ...
47
47
  @staticmethod
48
48
  def from_name(name: str, *, create_if_missing: bool = False): ...
49
- @staticmethod
50
- async def lookup(
51
- name: str, client: typing.Optional[modal.client._Client] = None, create_if_missing: bool = False
52
- ): ...
53
49
 
54
50
  class Environment(modal.object.Object):
55
51
  _settings: EnvironmentSettings
@@ -62,16 +58,6 @@ class Environment(modal.object.Object):
62
58
  @staticmethod
63
59
  def from_name(name: str, *, create_if_missing: bool = False): ...
64
60
 
65
- class __lookup_spec(typing_extensions.Protocol):
66
- def __call__(
67
- self, /, name: str, client: typing.Optional[modal.client.Client] = None, create_if_missing: bool = False
68
- ): ...
69
- async def aio(
70
- self, /, name: str, client: typing.Optional[modal.client.Client] = None, create_if_missing: bool = False
71
- ): ...
72
-
73
- lookup: __lookup_spec
74
-
75
61
  async def _get_environment_cached(name: str, client: modal.client._Client) -> _Environment: ...
76
62
 
77
63
  class __delete_environment_spec(typing_extensions.Protocol):
@@ -262,55 +262,6 @@ class Function(
262
262
  """
263
263
  ...
264
264
 
265
- class __lookup_spec(typing_extensions.Protocol):
266
- def __call__(
267
- self,
268
- /,
269
- app_name: str,
270
- name: str,
271
- namespace=None,
272
- client: typing.Optional[modal.client.Client] = None,
273
- environment_name: typing.Optional[str] = None,
274
- ) -> Function:
275
- """mdmd:hidden
276
- Lookup a Function from a deployed App by its name.
277
-
278
- DEPRECATED: This method is deprecated in favor of `modal.Function.from_name`.
279
-
280
- In contrast to `modal.Function.from_name`, this is an eager method
281
- that will hydrate the local object with metadata from Modal servers.
282
-
283
- ```python notest
284
- f = modal.Function.lookup("other-app", "function")
285
- ```
286
- """
287
- ...
288
-
289
- async def aio(
290
- self,
291
- /,
292
- app_name: str,
293
- name: str,
294
- namespace=None,
295
- client: typing.Optional[modal.client.Client] = None,
296
- environment_name: typing.Optional[str] = None,
297
- ) -> Function:
298
- """mdmd:hidden
299
- Lookup a Function from a deployed App by its name.
300
-
301
- DEPRECATED: This method is deprecated in favor of `modal.Function.from_name`.
302
-
303
- In contrast to `modal.Function.from_name`, this is an eager method
304
- that will hydrate the local object with metadata from Modal servers.
305
-
306
- ```python notest
307
- f = modal.Function.lookup("other-app", "function")
308
- ```
309
- """
310
- ...
311
-
312
- lookup: __lookup_spec
313
-
314
265
  @property
315
266
  def tag(self) -> str:
316
267
  """mdmd:hidden"""
@@ -738,28 +738,6 @@ class _Mount(_Object, type_prefix="mo"):
738
738
 
739
739
  return _Mount._from_loader(_load, "Mount()", hydrate_lazily=True)
740
740
 
741
- @classmethod
742
- async def lookup(
743
- cls: type["_Mount"],
744
- name: str,
745
- namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
746
- client: Optional[_Client] = None,
747
- environment_name: Optional[str] = None,
748
- ) -> "_Mount":
749
- """mdmd:hidden"""
750
- deprecation_warning(
751
- (2025, 1, 27),
752
- "`modal.Mount.lookup` is deprecated and will be removed in a future release."
753
- " It can be replaced with `modal.Mount.from_name`."
754
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
755
- )
756
- obj = _Mount.from_name(name, namespace=namespace, environment_name=environment_name)
757
- if client is None:
758
- client = await _Client.from_env()
759
- resolver = Resolver(client=client)
760
- await resolver.load(obj)
761
- return obj
762
-
763
741
  async def _deploy(
764
742
  self: "_Mount",
765
743
  deployment_name: Optional[str] = None,
@@ -304,17 +304,6 @@ class _Mount(modal._object._Object):
304
304
  """mdmd:hidden"""
305
305
  ...
306
306
 
307
- @classmethod
308
- async def lookup(
309
- cls: type[_Mount],
310
- name: str,
311
- namespace=1,
312
- client: typing.Optional[modal.client._Client] = None,
313
- environment_name: typing.Optional[str] = None,
314
- ) -> _Mount:
315
- """mdmd:hidden"""
316
- ...
317
-
318
307
  async def _deploy(
319
308
  self: _Mount,
320
309
  deployment_name: typing.Optional[str] = None,
@@ -518,17 +507,6 @@ class Mount(modal.object.Object):
518
507
  """mdmd:hidden"""
519
508
  ...
520
509
 
521
- @classmethod
522
- def lookup(
523
- cls: type[Mount],
524
- name: str,
525
- namespace=1,
526
- client: typing.Optional[modal.client.Client] = None,
527
- environment_name: typing.Optional[str] = None,
528
- ) -> Mount:
529
- """mdmd:hidden"""
530
- ...
531
-
532
510
  class ___deploy_spec(typing_extensions.Protocol[SUPERSELF]):
533
511
  def __call__(
534
512
  self,
@@ -21,7 +21,7 @@ from ._object import (
21
21
  from ._resolver import Resolver
22
22
  from ._utils.async_utils import TaskContext, aclosing, async_map, sync_or_async_iter, synchronize_api
23
23
  from ._utils.blob_utils import LARGE_FILE_LIMIT, blob_iter, blob_upload_file
24
- from ._utils.deprecation import deprecation_warning, warn_if_passing_namespace
24
+ from ._utils.deprecation import warn_if_passing_namespace
25
25
  from ._utils.grpc_utils import retry_transient_errors
26
26
  from ._utils.hash_utils import get_sha256_hex
27
27
  from ._utils.name_utils import check_object_name
@@ -171,45 +171,6 @@ class _NetworkFileSystem(_Object, type_prefix="sv"):
171
171
  rep="modal.NetworkFileSystem.ephemeral()",
172
172
  )
173
173
 
174
- @staticmethod
175
- async def lookup(
176
- name: str,
177
- namespace=None, # mdmd:line-hidden
178
- client: Optional[_Client] = None,
179
- environment_name: Optional[str] = None,
180
- create_if_missing: bool = False,
181
- ) -> "_NetworkFileSystem":
182
- """mdmd:hidden
183
- Lookup a named NetworkFileSystem.
184
-
185
- DEPRECATED: This method is deprecated in favor of `modal.NetworkFileSystem.from_name`.
186
-
187
- In contrast to `modal.NetworkFileSystem.from_name`, this is an eager method
188
- that will hydrate the local object with metadata from Modal servers.
189
-
190
- ```python notest
191
- nfs = modal.NetworkFileSystem.lookup("my-nfs")
192
- print(nfs.listdir("/"))
193
- ```
194
- """
195
- deprecation_warning(
196
- (2025, 1, 27),
197
- "`modal.NetworkFileSystem.lookup` is deprecated and will be removed in a future release."
198
- " It can be replaced with `modal.NetworkFileSystem.from_name`."
199
- "\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
200
- )
201
- warn_if_passing_namespace(namespace, "modal.NetworkFileSystem.lookup")
202
- obj = _NetworkFileSystem.from_name(
203
- name,
204
- environment_name=environment_name,
205
- create_if_missing=create_if_missing,
206
- )
207
- if client is None:
208
- client = await _Client.from_env()
209
- resolver = Resolver(client=client)
210
- await resolver.load(obj)
211
- return obj
212
-
213
174
  @staticmethod
214
175
  async def create_deployed(
215
176
  deployment_name: str,