modal 1.0.6.dev2__tar.gz → 1.0.6.dev4__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 (184) hide show
  1. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/PKG-INFO +1 -1
  2. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_object.py +10 -1
  3. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/client.pyi +2 -2
  4. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/image.py +4 -1
  5. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/image.pyi +4 -0
  6. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/object.pyi +4 -1
  7. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/PKG-INFO +1 -1
  8. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_version/__init__.py +1 -1
  9. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/LICENSE +0 -0
  10. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/README.md +0 -0
  11. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/__init__.py +0 -0
  12. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/__main__.py +0 -0
  13. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_clustered_functions.py +0 -0
  14. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_clustered_functions.pyi +0 -0
  15. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_container_entrypoint.py +0 -0
  16. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_functions.py +0 -0
  17. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_ipython.py +0 -0
  18. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_location.py +0 -0
  19. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_output.py +0 -0
  20. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_partial_function.py +0 -0
  21. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_pty.py +0 -0
  22. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_resolver.py +0 -0
  23. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_resources.py +0 -0
  24. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/__init__.py +0 -0
  25. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/asgi.py +0 -0
  26. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/container_io_manager.py +0 -0
  27. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/container_io_manager.pyi +0 -0
  28. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/execution_context.py +0 -0
  29. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/execution_context.pyi +0 -0
  30. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  31. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/telemetry.py +0 -0
  32. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_runtime/user_code_imports.py +0 -0
  33. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_serialization.py +0 -0
  34. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_traceback.py +0 -0
  35. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_tunnel.py +0 -0
  36. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_tunnel.pyi +0 -0
  37. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_type_manager.py +0 -0
  38. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/__init__.py +0 -0
  39. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/app_utils.py +0 -0
  40. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/async_utils.py +0 -0
  41. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/logger.py +0 -0
  53. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_utils/time_utils.py +0 -0
  60. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_vendor/__init__.py +0 -0
  61. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  62. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_vendor/cloudpickle.py +0 -0
  63. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_vendor/tblib.py +0 -0
  64. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/_watcher.py +0 -0
  65. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/app.py +0 -0
  66. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/app.pyi +0 -0
  67. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/call_graph.py +0 -0
  68. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/__init__.py +0 -0
  69. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/_download.py +0 -0
  70. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/_traceback.py +0 -0
  71. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/app.py +0 -0
  72. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/cluster.py +0 -0
  73. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/config.py +0 -0
  74. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/container.py +0 -0
  75. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/dict.py +0 -0
  76. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/entry_point.py +0 -0
  77. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/environment.py +0 -0
  78. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/import_refs.py +0 -0
  79. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/launch.py +0 -0
  80. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/network_file_system.py +0 -0
  81. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/profile.py +0 -0
  82. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/programs/__init__.py +0 -0
  83. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/programs/run_jupyter.py +0 -0
  84. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/programs/vscode.py +0 -0
  85. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/queues.py +0 -0
  86. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/run.py +0 -0
  87. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/secret.py +0 -0
  88. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/token.py +0 -0
  89. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/utils.py +0 -0
  90. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cli/volume.py +0 -0
  91. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/client.py +0 -0
  92. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cloud_bucket_mount.py +0 -0
  93. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cloud_bucket_mount.pyi +0 -0
  94. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cls.py +0 -0
  95. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/cls.pyi +0 -0
  96. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/config.py +0 -0
  97. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/container_process.py +0 -0
  98. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/container_process.pyi +0 -0
  99. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/dict.py +0 -0
  100. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/dict.pyi +0 -0
  101. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/environments.py +0 -0
  102. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/environments.pyi +0 -0
  103. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/exception.py +0 -0
  104. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/experimental/__init__.py +0 -0
  105. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/experimental/ipython.py +0 -0
  106. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/file_io.py +0 -0
  107. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/file_io.pyi +0 -0
  108. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/file_pattern_matcher.py +0 -0
  109. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/functions.py +0 -0
  110. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/functions.pyi +0 -0
  111. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/gpu.py +0 -0
  112. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/io_streams.py +0 -0
  113. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/io_streams.pyi +0 -0
  114. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/mount.py +0 -0
  115. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/mount.pyi +0 -0
  116. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/network_file_system.py +0 -0
  117. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/network_file_system.pyi +0 -0
  118. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/object.py +0 -0
  119. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/output.py +0 -0
  120. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/parallel_map.py +0 -0
  121. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/parallel_map.pyi +0 -0
  122. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/partial_function.py +0 -0
  123. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/partial_function.pyi +0 -0
  124. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/proxy.py +0 -0
  125. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/proxy.pyi +0 -0
  126. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/py.typed +0 -0
  127. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/queue.py +0 -0
  128. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/queue.pyi +0 -0
  129. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/2023.12.312.txt +0 -0
  130. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/2023.12.txt +0 -0
  131. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/2024.04.txt +0 -0
  132. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/2024.10.txt +0 -0
  133. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/PREVIEW.txt +0 -0
  134. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/README.md +0 -0
  135. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/requirements/base-images.json +0 -0
  136. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/retries.py +0 -0
  137. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/runner.py +0 -0
  138. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/runner.pyi +0 -0
  139. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/running_app.py +0 -0
  140. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/sandbox.py +0 -0
  141. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/sandbox.pyi +0 -0
  142. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/schedule.py +0 -0
  143. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/scheduler_placement.py +0 -0
  144. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/secret.py +0 -0
  145. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/secret.pyi +0 -0
  146. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/serving.py +0 -0
  147. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/serving.pyi +0 -0
  148. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/snapshot.py +0 -0
  149. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/snapshot.pyi +0 -0
  150. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/stream_type.py +0 -0
  151. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/token_flow.py +0 -0
  152. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/token_flow.pyi +0 -0
  153. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/volume.py +0 -0
  154. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal/volume.pyi +0 -0
  155. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/SOURCES.txt +0 -0
  156. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/dependency_links.txt +0 -0
  157. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/entry_points.txt +0 -0
  158. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/requires.txt +0 -0
  159. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal.egg-info/top_level.txt +0 -0
  160. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/__init__.py +0 -0
  161. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/gen_cli_docs.py +0 -0
  162. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/gen_reference_docs.py +0 -0
  163. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/mdmd/__init__.py +0 -0
  164. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/mdmd/mdmd.py +0 -0
  165. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_docs/mdmd/signatures.py +0 -0
  166. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/__init__.py +0 -0
  167. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api.proto +0 -0
  168. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api_grpc.py +0 -0
  169. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api_pb2.py +0 -0
  170. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api_pb2.pyi +0 -0
  171. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api_pb2_grpc.py +0 -0
  172. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/api_pb2_grpc.pyi +0 -0
  173. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/modal_api_grpc.py +0 -0
  174. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/modal_options_grpc.py +0 -0
  175. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options.proto +0 -0
  176. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options_grpc.py +0 -0
  177. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options_pb2.py +0 -0
  178. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options_pb2.pyi +0 -0
  179. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options_pb2_grpc.py +0 -0
  180. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/options_pb2_grpc.pyi +0 -0
  181. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_proto/py.typed +0 -0
  182. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/modal_version/__main__.py +0 -0
  183. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/pyproject.toml +0 -0
  184. {modal-1.0.6.dev2 → modal-1.0.6.dev4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.6.dev2
3
+ Version: 1.0.6.dev4
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -10,6 +10,7 @@ from typing_extensions import Self
10
10
 
11
11
  from ._resolver import Resolver
12
12
  from ._utils.async_utils import aclosing
13
+ from ._utils.deprecation import deprecation_warning
13
14
  from .client import _Client
14
15
  from .config import config, logger
15
16
  from .exception import ExecutionError, InvalidError
@@ -134,7 +135,15 @@ class _Object:
134
135
  )
135
136
 
136
137
  def clone(self) -> Self:
137
- """mdmd:hidden Clone a given hydrated object."""
138
+ """mdmd:hidden Clone a given hydrated object.
139
+
140
+ Note: This is not intended to be public API and has no public use. It will be removed in a future release.
141
+ """
142
+ object_class = self.__class__.__name__.strip("_")
143
+ deprecation_warning(
144
+ (2025, 6, 30),
145
+ f"{object_class}.clone() is not intended to be public API and will be removed in a future release.",
146
+ )
138
147
 
139
148
  # Object to clone must already be hydrated, otherwise from_loader is more suitable.
140
149
  self._validate_is_hydrated()
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[tuple[str, str]],
34
- version: str = "1.0.6.dev2",
34
+ version: str = "1.0.6.dev4",
35
35
  ):
36
36
  """mdmd:hidden
37
37
  The Modal client object is not intended to be instantiated directly by users.
@@ -160,7 +160,7 @@ class Client:
160
160
  server_url: str,
161
161
  client_type: int,
162
162
  credentials: typing.Optional[tuple[str, str]],
163
- version: str = "1.0.6.dev2",
163
+ version: str = "1.0.6.dev4",
164
164
  ):
165
165
  """mdmd:hidden
166
166
  The Modal client object is not intended to be instantiated directly by users.
@@ -416,7 +416,6 @@ class _Image(_Object, type_prefix="im"):
416
416
  self.force_build = False
417
417
 
418
418
  def _initialize_from_other(self, other: "_Image"):
419
- # used by .clone()
420
419
  self.inside_exceptions = other.inside_exceptions
421
420
  self.force_build = other.force_build
422
421
  self._serve_mounts = other._serve_mounts
@@ -497,6 +496,7 @@ class _Image(_Object, type_prefix="im"):
497
496
  image_registry_config: Optional[_ImageRegistryConfig] = None,
498
497
  context_mount_function: Optional[Callable[[], Optional[_Mount]]] = None,
499
498
  force_build: bool = False,
499
+ build_args: dict[str, str] = {},
500
500
  # For internal use only.
501
501
  _namespace: "api_pb2.DeploymentNamespace.ValueType" = api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
502
502
  _do_assert_no_mount_layers: bool = True,
@@ -613,6 +613,7 @@ class _Image(_Object, type_prefix="im"):
613
613
  runtime=config.get("function_runtime"),
614
614
  runtime_debug=config.get("function_runtime_debug"),
615
615
  build_function=_build_function,
616
+ build_args=build_args,
616
617
  )
617
618
 
618
619
  req = api_pb2.ImageGetOrCreateRequest(
@@ -1728,6 +1729,7 @@ class _Image(_Object, type_prefix="im"):
1728
1729
  secrets: Sequence[_Secret] = [],
1729
1730
  gpu: GPU_T = None,
1730
1731
  add_python: Optional[str] = None,
1732
+ build_args: dict[str, str] = {},
1731
1733
  ignore: Union[Sequence[str], Callable[[Path], bool]] = AUTO_DOCKERIGNORE,
1732
1734
  ) -> "_Image":
1733
1735
  """Build a Modal image from a local Dockerfile.
@@ -1801,6 +1803,7 @@ class _Image(_Object, type_prefix="im"):
1801
1803
  ),
1802
1804
  gpu_config=gpu_config,
1803
1805
  secrets=secrets,
1806
+ build_args=build_args,
1804
1807
  )
1805
1808
 
1806
1809
  # --- Now add in the modal dependencies, and, optionally a Python distribution
@@ -171,6 +171,7 @@ class _Image(modal._object._Object):
171
171
  collections.abc.Callable[[], typing.Optional[modal.mount._Mount]]
172
172
  ] = None,
173
173
  force_build: bool = False,
174
+ build_args: dict[str, str] = {},
174
175
  _namespace: int = 1,
175
176
  _do_assert_no_mount_layers: bool = True,
176
177
  ): ...
@@ -755,6 +756,7 @@ class _Image(modal._object._Object):
755
756
  secrets: collections.abc.Sequence[modal.secret._Secret] = [],
756
757
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
757
758
  add_python: typing.Optional[str] = None,
759
+ build_args: dict[str, str] = {},
758
760
  ignore: typing.Union[
759
761
  collections.abc.Sequence[str], collections.abc.Callable[[pathlib.Path], bool]
760
762
  ] = modal.image.AUTO_DOCKERIGNORE,
@@ -1003,6 +1005,7 @@ class Image(modal.object.Object):
1003
1005
  collections.abc.Callable[[], typing.Optional[modal.mount.Mount]]
1004
1006
  ] = None,
1005
1007
  force_build: bool = False,
1008
+ build_args: dict[str, str] = {},
1006
1009
  _namespace: int = 1,
1007
1010
  _do_assert_no_mount_layers: bool = True,
1008
1011
  ): ...
@@ -1596,6 +1599,7 @@ class Image(modal.object.Object):
1596
1599
  secrets: collections.abc.Sequence[modal.secret.Secret] = [],
1597
1600
  gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
1598
1601
  add_python: typing.Optional[str] = None,
1602
+ build_args: dict[str, str] = {},
1599
1603
  ignore: typing.Union[
1600
1604
  collections.abc.Sequence[str], collections.abc.Callable[[pathlib.Path], bool]
1601
1605
  ] = modal.image.AUTO_DOCKERIGNORE,
@@ -89,7 +89,10 @@ class Object:
89
89
  def _get_metadata(self) -> typing.Optional[google.protobuf.message.Message]: ...
90
90
  def _validate_is_hydrated(self): ...
91
91
  def clone(self) -> typing_extensions.Self:
92
- """mdmd:hidden Clone a given hydrated object."""
92
+ """mdmd:hidden Clone a given hydrated object.
93
+
94
+ Note: This is not intended to be public API and has no public use. It will be removed in a future release.
95
+ """
93
96
  ...
94
97
 
95
98
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.6.dev2
3
+ Version: 1.0.6.dev4
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.0.6.dev2"
4
+ __version__ = "1.0.6.dev4"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes