modal 1.1.4.dev9__tar.gz → 1.1.4.dev10__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 (190) hide show
  1. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/PKG-INFO +1 -1
  2. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/client.pyi +2 -2
  3. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/image.py +8 -2
  4. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/image.pyi +16 -4
  5. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_version/__init__.py +1 -1
  7. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/LICENSE +0 -0
  8. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/README.md +0 -0
  9. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/__init__.py +0 -0
  10. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/__main__.py +0 -0
  11. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_clustered_functions.py +0 -0
  12. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_clustered_functions.pyi +0 -0
  13. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_container_entrypoint.py +0 -0
  14. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_functions.py +0 -0
  15. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_ipython.py +0 -0
  16. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_location.py +0 -0
  17. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_object.py +0 -0
  18. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_output.py +0 -0
  19. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_partial_function.py +0 -0
  20. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_pty.py +0 -0
  21. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_resolver.py +0 -0
  22. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_resources.py +0 -0
  23. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/__init__.py +0 -0
  24. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/asgi.py +0 -0
  25. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/container_io_manager.py +0 -0
  26. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/container_io_manager.pyi +0 -0
  27. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/execution_context.py +0 -0
  28. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/execution_context.pyi +0 -0
  29. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  30. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/telemetry.py +0 -0
  31. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_runtime/user_code_imports.py +0 -0
  32. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_serialization.py +0 -0
  33. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_traceback.py +0 -0
  34. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_tunnel.py +0 -0
  35. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_tunnel.pyi +0 -0
  36. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_type_manager.py +0 -0
  37. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/__init__.py +0 -0
  38. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/app_utils.py +0 -0
  39. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/async_utils.py +0 -0
  40. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/auth_token_manager.py +0 -0
  41. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/logger.py +0 -0
  53. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_utils/time_utils.py +0 -0
  60. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_vendor/__init__.py +0 -0
  61. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  62. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_vendor/cloudpickle.py +0 -0
  63. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_vendor/tblib.py +0 -0
  64. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/_watcher.py +0 -0
  65. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/app.py +0 -0
  66. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/app.pyi +0 -0
  67. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/2023.12.312.txt +0 -0
  68. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/2023.12.txt +0 -0
  69. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/2024.04.txt +0 -0
  70. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/2024.10.txt +0 -0
  71. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/2025.06.txt +0 -0
  72. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/PREVIEW.txt +0 -0
  73. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/README.md +0 -0
  74. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/builder/base-images.json +0 -0
  75. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/call_graph.py +0 -0
  76. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/__init__.py +0 -0
  77. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/_download.py +0 -0
  78. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/_traceback.py +0 -0
  79. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/app.py +0 -0
  80. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/cluster.py +0 -0
  81. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/config.py +0 -0
  82. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/container.py +0 -0
  83. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/dict.py +0 -0
  84. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/entry_point.py +0 -0
  85. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/environment.py +0 -0
  86. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/import_refs.py +0 -0
  87. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/launch.py +0 -0
  88. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/network_file_system.py +0 -0
  89. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/profile.py +0 -0
  90. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/programs/__init__.py +0 -0
  91. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/programs/launch_instance_ssh.py +0 -0
  92. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/programs/run_jupyter.py +0 -0
  93. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/programs/run_marimo.py +0 -0
  94. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/programs/vscode.py +0 -0
  95. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/queues.py +0 -0
  96. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/run.py +0 -0
  97. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/secret.py +0 -0
  98. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/token.py +0 -0
  99. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/utils.py +0 -0
  100. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cli/volume.py +0 -0
  101. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/client.py +0 -0
  102. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cloud_bucket_mount.py +0 -0
  103. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cloud_bucket_mount.pyi +0 -0
  104. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cls.py +0 -0
  105. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/cls.pyi +0 -0
  106. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/config.py +0 -0
  107. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/container_process.py +0 -0
  108. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/container_process.pyi +0 -0
  109. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/dict.py +0 -0
  110. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/dict.pyi +0 -0
  111. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/environments.py +0 -0
  112. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/environments.pyi +0 -0
  113. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/exception.py +0 -0
  114. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/experimental/__init__.py +0 -0
  115. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/experimental/flash.py +0 -0
  116. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/experimental/flash.pyi +0 -0
  117. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/experimental/ipython.py +0 -0
  118. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/file_io.py +0 -0
  119. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/file_io.pyi +0 -0
  120. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/file_pattern_matcher.py +0 -0
  121. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/functions.py +0 -0
  122. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/functions.pyi +0 -0
  123. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/gpu.py +0 -0
  124. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/io_streams.py +0 -0
  125. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/io_streams.pyi +0 -0
  126. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/mount.py +0 -0
  127. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/mount.pyi +0 -0
  128. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/network_file_system.py +0 -0
  129. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/network_file_system.pyi +0 -0
  130. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/object.py +0 -0
  131. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/object.pyi +0 -0
  132. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/output.py +0 -0
  133. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/parallel_map.py +0 -0
  134. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/parallel_map.pyi +0 -0
  135. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/partial_function.py +0 -0
  136. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/partial_function.pyi +0 -0
  137. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/proxy.py +0 -0
  138. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/proxy.pyi +0 -0
  139. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/py.typed +0 -0
  140. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/queue.py +0 -0
  141. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/queue.pyi +0 -0
  142. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/retries.py +0 -0
  143. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/runner.py +0 -0
  144. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/runner.pyi +0 -0
  145. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/running_app.py +0 -0
  146. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/sandbox.py +0 -0
  147. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/sandbox.pyi +0 -0
  148. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/schedule.py +0 -0
  149. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/scheduler_placement.py +0 -0
  150. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/secret.py +0 -0
  151. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/secret.pyi +0 -0
  152. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/serving.py +0 -0
  153. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/serving.pyi +0 -0
  154. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/snapshot.py +0 -0
  155. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/snapshot.pyi +0 -0
  156. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/stream_type.py +0 -0
  157. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/token_flow.py +0 -0
  158. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/token_flow.pyi +0 -0
  159. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/volume.py +0 -0
  160. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal/volume.pyi +0 -0
  161. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/SOURCES.txt +0 -0
  162. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/dependency_links.txt +0 -0
  163. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/entry_points.txt +0 -0
  164. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/requires.txt +0 -0
  165. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal.egg-info/top_level.txt +0 -0
  166. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/__init__.py +0 -0
  167. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/gen_cli_docs.py +0 -0
  168. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/gen_reference_docs.py +0 -0
  169. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/mdmd/__init__.py +0 -0
  170. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/mdmd/mdmd.py +0 -0
  171. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_docs/mdmd/signatures.py +0 -0
  172. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/__init__.py +0 -0
  173. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api.proto +0 -0
  174. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api_grpc.py +0 -0
  175. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api_pb2.py +0 -0
  176. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api_pb2.pyi +0 -0
  177. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api_pb2_grpc.py +0 -0
  178. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/api_pb2_grpc.pyi +0 -0
  179. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/modal_api_grpc.py +0 -0
  180. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options.proto +0 -0
  182. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_proto/py.typed +0 -0
  188. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/modal_version/__main__.py +0 -0
  189. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/pyproject.toml +0 -0
  190. {modal-1.1.4.dev9 → modal-1.1.4.dev10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.4.dev9
3
+ Version: 1.1.4.dev10
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.4.dev9",
36
+ version: str = "1.1.4.dev10",
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.4.dev9",
167
+ version: str = "1.1.4.dev10",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -1863,12 +1863,18 @@ class _Image(_Object, type_prefix="im"):
1863
1863
  ) -> "_Image":
1864
1864
  """Build a Modal image from a private image in AWS Elastic Container Registry (ECR).
1865
1865
 
1866
- You will need to pass a `modal.Secret` containing `AWS_ACCESS_KEY_ID`,
1867
- `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION` to access the target ECR registry.
1866
+ You will need to pass a `modal.Secret` containing either IAM user credentials or OIDC
1867
+ configuration to access the target ECR registry.
1868
+
1869
+ For IAM user authentication, set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION`.
1870
+
1871
+ For OIDC authentication, set `AWS_ROLE_ARN` and `AWS_REGION`.
1868
1872
 
1869
1873
  IAM configuration details can be found in the AWS documentation for
1870
1874
  ["Private repository policies"](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html).
1871
1875
 
1876
+ For more details on using an AWS role to access ECR, see the [OIDC integration guide](https://modal.com/docs/guide/oidc-integration).
1877
+
1872
1878
  See `Image.from_registry()` for information about the other parameters.
1873
1879
 
1874
1880
  **Example**
@@ -720,12 +720,18 @@ class _Image(modal._object._Object):
720
720
  ) -> _Image:
721
721
  """Build a Modal image from a private image in AWS Elastic Container Registry (ECR).
722
722
 
723
- You will need to pass a `modal.Secret` containing `AWS_ACCESS_KEY_ID`,
724
- `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION` to access the target ECR registry.
723
+ You will need to pass a `modal.Secret` containing either IAM user credentials or OIDC
724
+ configuration to access the target ECR registry.
725
+
726
+ For IAM user authentication, set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION`.
727
+
728
+ For OIDC authentication, set `AWS_ROLE_ARN` and `AWS_REGION`.
725
729
 
726
730
  IAM configuration details can be found in the AWS documentation for
727
731
  ["Private repository policies"](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html).
728
732
 
733
+ For more details on using an AWS role to access ECR, see the [OIDC integration guide](https://modal.com/docs/guide/oidc-integration).
734
+
729
735
  See `Image.from_registry()` for information about the other parameters.
730
736
 
731
737
  **Example**
@@ -1565,12 +1571,18 @@ class Image(modal.object.Object):
1565
1571
  ) -> Image:
1566
1572
  """Build a Modal image from a private image in AWS Elastic Container Registry (ECR).
1567
1573
 
1568
- You will need to pass a `modal.Secret` containing `AWS_ACCESS_KEY_ID`,
1569
- `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION` to access the target ECR registry.
1574
+ You will need to pass a `modal.Secret` containing either IAM user credentials or OIDC
1575
+ configuration to access the target ECR registry.
1576
+
1577
+ For IAM user authentication, set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_REGION`.
1578
+
1579
+ For OIDC authentication, set `AWS_ROLE_ARN` and `AWS_REGION`.
1570
1580
 
1571
1581
  IAM configuration details can be found in the AWS documentation for
1572
1582
  ["Private repository policies"](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-policies.html).
1573
1583
 
1584
+ For more details on using an AWS role to access ECR, see the [OIDC integration guide](https://modal.com/docs/guide/oidc-integration).
1585
+
1574
1586
  See `Image.from_registry()` for information about the other parameters.
1575
1587
 
1576
1588
  **Example**
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.4.dev9
3
+ Version: 1.1.4.dev10
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.4.dev9"
4
+ __version__ = "1.1.4.dev10"
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