modal 1.0.1.dev2__tar.gz → 1.0.1.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 (183) hide show
  1. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/PKG-INFO +1 -1
  2. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/client.py +3 -2
  3. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/client.pyi +2 -2
  4. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/image.py +3 -0
  5. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/image.pyi +2 -0
  6. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_version/__init__.py +1 -1
  8. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/LICENSE +0 -0
  9. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/README.md +0 -0
  10. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/__init__.py +0 -0
  11. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/__main__.py +0 -0
  12. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_clustered_functions.py +0 -0
  13. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_clustered_functions.pyi +0 -0
  14. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_container_entrypoint.py +0 -0
  15. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_functions.py +0 -0
  16. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_ipython.py +0 -0
  17. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_location.py +0 -0
  18. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_object.py +0 -0
  19. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_output.py +0 -0
  20. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_partial_function.py +0 -0
  21. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_pty.py +0 -0
  22. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_resolver.py +0 -0
  23. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_resources.py +0 -0
  24. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/__init__.py +0 -0
  25. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/asgi.py +0 -0
  26. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/container_io_manager.py +0 -0
  27. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/container_io_manager.pyi +0 -0
  28. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/execution_context.py +0 -0
  29. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/execution_context.pyi +0 -0
  30. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  31. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/telemetry.py +0 -0
  32. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_runtime/user_code_imports.py +0 -0
  33. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_serialization.py +0 -0
  34. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_traceback.py +0 -0
  35. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_tunnel.py +0 -0
  36. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_tunnel.pyi +0 -0
  37. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_type_manager.py +0 -0
  38. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/__init__.py +0 -0
  39. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/app_utils.py +0 -0
  40. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/async_utils.py +0 -0
  41. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/blob_utils.py +0 -0
  42. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/deprecation.py +0 -0
  44. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/docker_utils.py +0 -0
  45. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/function_utils.py +0 -0
  46. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/git_utils.py +0 -0
  47. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/grpc_testing.py +0 -0
  48. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/grpc_utils.py +0 -0
  49. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/hash_utils.py +0 -0
  50. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/http_utils.py +0 -0
  51. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/jwt_utils.py +0 -0
  52. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/logger.py +0 -0
  53. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/mount_utils.py +0 -0
  54. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/name_utils.py +0 -0
  55. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/package_utils.py +0 -0
  56. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/pattern_utils.py +0 -0
  57. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/rand_pb_testing.py +0 -0
  58. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_utils/shell_utils.py +0 -0
  59. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_vendor/__init__.py +0 -0
  60. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  61. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_vendor/cloudpickle.py +0 -0
  62. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_vendor/tblib.py +0 -0
  63. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/_watcher.py +0 -0
  64. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/app.py +0 -0
  65. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/app.pyi +0 -0
  66. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/call_graph.py +0 -0
  67. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/__init__.py +0 -0
  68. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/_download.py +0 -0
  69. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/_traceback.py +0 -0
  70. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/app.py +0 -0
  71. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/cluster.py +0 -0
  72. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/config.py +0 -0
  73. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/container.py +0 -0
  74. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/dict.py +0 -0
  75. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/entry_point.py +0 -0
  76. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/environment.py +0 -0
  77. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/import_refs.py +0 -0
  78. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/launch.py +0 -0
  79. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/network_file_system.py +0 -0
  80. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/profile.py +0 -0
  81. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/programs/__init__.py +0 -0
  82. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/programs/run_jupyter.py +0 -0
  83. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/programs/vscode.py +0 -0
  84. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/queues.py +0 -0
  85. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/run.py +0 -0
  86. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/secret.py +0 -0
  87. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/token.py +0 -0
  88. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/utils.py +0 -0
  89. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cli/volume.py +0 -0
  90. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cloud_bucket_mount.py +0 -0
  91. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cloud_bucket_mount.pyi +0 -0
  92. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cls.py +0 -0
  93. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/cls.pyi +0 -0
  94. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/config.py +0 -0
  95. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/container_process.py +0 -0
  96. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/container_process.pyi +0 -0
  97. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/dict.py +0 -0
  98. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/dict.pyi +0 -0
  99. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/environments.py +0 -0
  100. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/environments.pyi +0 -0
  101. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/exception.py +0 -0
  102. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/experimental/__init__.py +0 -0
  103. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/experimental/ipython.py +0 -0
  104. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/file_io.py +0 -0
  105. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/file_io.pyi +0 -0
  106. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/file_pattern_matcher.py +0 -0
  107. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/functions.py +0 -0
  108. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/functions.pyi +0 -0
  109. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/gpu.py +0 -0
  110. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/io_streams.py +0 -0
  111. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/io_streams.pyi +0 -0
  112. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/mount.py +0 -0
  113. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/mount.pyi +0 -0
  114. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/network_file_system.py +0 -0
  115. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/network_file_system.pyi +0 -0
  116. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/object.py +0 -0
  117. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/object.pyi +0 -0
  118. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/output.py +0 -0
  119. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/parallel_map.py +0 -0
  120. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/parallel_map.pyi +0 -0
  121. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/partial_function.py +0 -0
  122. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/partial_function.pyi +0 -0
  123. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/proxy.py +0 -0
  124. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/proxy.pyi +0 -0
  125. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/py.typed +0 -0
  126. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/queue.py +0 -0
  127. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/queue.pyi +0 -0
  128. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/2023.12.312.txt +0 -0
  129. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/2023.12.txt +0 -0
  130. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/2024.04.txt +0 -0
  131. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/2024.10.txt +0 -0
  132. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/PREVIEW.txt +0 -0
  133. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/README.md +0 -0
  134. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/requirements/base-images.json +0 -0
  135. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/retries.py +0 -0
  136. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/runner.py +0 -0
  137. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/runner.pyi +0 -0
  138. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/running_app.py +0 -0
  139. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/sandbox.py +0 -0
  140. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/sandbox.pyi +0 -0
  141. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/schedule.py +0 -0
  142. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/scheduler_placement.py +0 -0
  143. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/secret.py +0 -0
  144. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/secret.pyi +0 -0
  145. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/serving.py +0 -0
  146. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/serving.pyi +0 -0
  147. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/snapshot.py +0 -0
  148. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/snapshot.pyi +0 -0
  149. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/stream_type.py +0 -0
  150. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/token_flow.py +0 -0
  151. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/token_flow.pyi +0 -0
  152. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/volume.py +0 -0
  153. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal/volume.pyi +0 -0
  154. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/SOURCES.txt +0 -0
  155. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/dependency_links.txt +0 -0
  156. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/entry_points.txt +0 -0
  157. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/requires.txt +0 -0
  158. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal.egg-info/top_level.txt +0 -0
  159. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/__init__.py +0 -0
  160. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/gen_cli_docs.py +0 -0
  161. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/gen_reference_docs.py +0 -0
  162. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/mdmd/__init__.py +0 -0
  163. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/mdmd/mdmd.py +0 -0
  164. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_docs/mdmd/signatures.py +0 -0
  165. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/__init__.py +0 -0
  166. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api.proto +0 -0
  167. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api_grpc.py +0 -0
  168. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api_pb2.py +0 -0
  169. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api_pb2.pyi +0 -0
  170. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api_pb2_grpc.py +0 -0
  171. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/api_pb2_grpc.pyi +0 -0
  172. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/modal_api_grpc.py +0 -0
  173. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/modal_options_grpc.py +0 -0
  174. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options.proto +0 -0
  175. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options_grpc.py +0 -0
  176. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options_pb2.py +0 -0
  177. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options_pb2.pyi +0 -0
  178. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options_pb2_grpc.py +0 -0
  179. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/options_pb2_grpc.pyi +0 -0
  180. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_proto/py.typed +0 -0
  181. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/modal_version/__main__.py +0 -0
  182. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/pyproject.toml +0 -0
  183. {modal-1.0.1.dev2 → modal-1.0.1.dev4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.1.dev2
3
+ Version: 1.0.1.dev4
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -3,6 +3,7 @@ import asyncio
3
3
  import os
4
4
  import platform
5
5
  import sys
6
+ import urllib.parse
6
7
  import warnings
7
8
  from collections.abc import AsyncGenerator, AsyncIterator, Collection, Mapping
8
9
  from typing import (
@@ -50,8 +51,8 @@ def _get_metadata(client_type: int, credentials: Optional[tuple[str, str]], vers
50
51
  "x-modal-client-version": version,
51
52
  "x-modal-client-type": str(client_type),
52
53
  "x-modal-python-version": python_version,
53
- "x-modal-node": platform.node(),
54
- "x-modal-platform": platform_str,
54
+ "x-modal-node": urllib.parse.quote(platform.node()),
55
+ "x-modal-platform": urllib.parse.quote(platform_str),
55
56
  }
56
57
  if credentials and client_type == api_pb2.CLIENT_TYPE_CLIENT:
57
58
  token_id, token_secret = credentials
@@ -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.1.dev2",
34
+ version: str = "1.0.1.dev4",
35
35
  ): ...
36
36
  def is_closed(self) -> bool: ...
37
37
  @property
@@ -94,7 +94,7 @@ class Client:
94
94
  server_url: str,
95
95
  client_type: int,
96
96
  credentials: typing.Optional[tuple[str, str]],
97
- version: str = "1.0.1.dev2",
97
+ version: str = "1.0.1.dev4",
98
98
  ): ...
99
99
  def is_closed(self) -> bool: ...
100
100
  @property
@@ -423,6 +423,9 @@ class _Image(_Object, type_prefix="im"):
423
423
  self._deferred_mounts = other._deferred_mounts
424
424
  self._added_python_source_set = other._added_python_source_set
425
425
 
426
+ def _get_metadata(self) -> Optional[Message]:
427
+ return self._metadata
428
+
426
429
  def _hydrate_metadata(self, metadata: Optional[Message]):
427
430
  env_image_id = config.get("image_id") # set as an env var in containers
428
431
  if env_image_id == self.object_id:
@@ -96,6 +96,7 @@ class _Image(modal._object._Object):
96
96
 
97
97
  def _initialize_from_empty(self): ...
98
98
  def _initialize_from_other(self, other: _Image): ...
99
+ def _get_metadata(self) -> typing.Optional[google.protobuf.message.Message]: ...
99
100
  def _hydrate_metadata(self, metadata: typing.Optional[google.protobuf.message.Message]): ...
100
101
  def _add_mount_layer_or_copy(self, mount: modal.mount._Mount, copy: bool = False): ...
101
102
  @property
@@ -352,6 +353,7 @@ class Image(modal.object.Object):
352
353
  def __init__(self, *args, **kwargs): ...
353
354
  def _initialize_from_empty(self): ...
354
355
  def _initialize_from_other(self, other: Image): ...
356
+ def _get_metadata(self) -> typing.Optional[google.protobuf.message.Message]: ...
355
357
  def _hydrate_metadata(self, metadata: typing.Optional[google.protobuf.message.Message]): ...
356
358
  def _add_mount_layer_or_copy(self, mount: modal.mount.Mount, copy: bool = False): ...
357
359
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.1.dev2
3
+ Version: 1.0.1.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.1.dev2"
4
+ __version__ = "1.0.1.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
File without changes