modal 1.1.1.dev15__tar.gz → 1.1.1.dev16__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of modal might be problematic. Click here for more details.

Files changed (188) hide show
  1. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/PKG-INFO +1 -1
  2. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/client.pyi +2 -2
  3. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/dict.py +1 -1
  4. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/queue.py +1 -1
  5. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/secret.py +3 -3
  6. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/PKG-INFO +1 -1
  7. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api.proto +30 -1
  8. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api_pb2.py +745 -705
  9. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api_pb2.pyi +108 -4
  10. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_version/__init__.py +1 -1
  11. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/LICENSE +0 -0
  12. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/README.md +0 -0
  13. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/__init__.py +0 -0
  14. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/__main__.py +0 -0
  15. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_clustered_functions.py +0 -0
  16. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_clustered_functions.pyi +0 -0
  17. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_container_entrypoint.py +0 -0
  18. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_functions.py +0 -0
  19. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_ipython.py +0 -0
  20. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_location.py +0 -0
  21. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_object.py +0 -0
  22. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_output.py +0 -0
  23. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_partial_function.py +0 -0
  24. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_pty.py +0 -0
  25. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_resolver.py +0 -0
  26. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_resources.py +0 -0
  27. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/__init__.py +0 -0
  28. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/asgi.py +0 -0
  29. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/container_io_manager.py +0 -0
  30. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/container_io_manager.pyi +0 -0
  31. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/execution_context.py +0 -0
  32. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/execution_context.pyi +0 -0
  33. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  34. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/telemetry.py +0 -0
  35. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_runtime/user_code_imports.py +0 -0
  36. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_serialization.py +0 -0
  37. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_traceback.py +0 -0
  38. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_tunnel.py +0 -0
  39. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_tunnel.pyi +0 -0
  40. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_type_manager.py +0 -0
  41. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/__init__.py +0 -0
  42. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/app_utils.py +0 -0
  43. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/async_utils.py +0 -0
  44. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/auth_token_manager.py +0 -0
  45. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/blob_utils.py +0 -0
  46. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/bytes_io_segment_payload.py +0 -0
  47. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/deprecation.py +0 -0
  48. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/docker_utils.py +0 -0
  49. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/function_utils.py +0 -0
  50. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/git_utils.py +0 -0
  51. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/grpc_testing.py +0 -0
  52. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/grpc_utils.py +0 -0
  53. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/hash_utils.py +0 -0
  54. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/http_utils.py +0 -0
  55. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/jwt_utils.py +0 -0
  56. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/logger.py +0 -0
  57. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/mount_utils.py +0 -0
  58. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/name_utils.py +0 -0
  59. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/package_utils.py +0 -0
  60. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/pattern_utils.py +0 -0
  61. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/rand_pb_testing.py +0 -0
  62. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/shell_utils.py +0 -0
  63. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_utils/time_utils.py +0 -0
  64. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_vendor/__init__.py +0 -0
  65. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  66. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_vendor/cloudpickle.py +0 -0
  67. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_vendor/tblib.py +0 -0
  68. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/_watcher.py +0 -0
  69. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/app.py +0 -0
  70. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/app.pyi +0 -0
  71. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/call_graph.py +0 -0
  72. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/__init__.py +0 -0
  73. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/_download.py +0 -0
  74. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/_traceback.py +0 -0
  75. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/app.py +0 -0
  76. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/cluster.py +0 -0
  77. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/config.py +0 -0
  78. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/container.py +0 -0
  79. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/dict.py +0 -0
  80. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/entry_point.py +0 -0
  81. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/environment.py +0 -0
  82. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/import_refs.py +0 -0
  83. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/launch.py +0 -0
  84. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/network_file_system.py +0 -0
  85. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/profile.py +0 -0
  86. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/programs/__init__.py +0 -0
  87. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/programs/run_jupyter.py +0 -0
  88. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/programs/vscode.py +0 -0
  89. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/queues.py +0 -0
  90. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/run.py +0 -0
  91. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/secret.py +0 -0
  92. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/token.py +0 -0
  93. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/utils.py +0 -0
  94. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cli/volume.py +0 -0
  95. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/client.py +0 -0
  96. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cloud_bucket_mount.py +0 -0
  97. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cloud_bucket_mount.pyi +0 -0
  98. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cls.py +0 -0
  99. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/cls.pyi +0 -0
  100. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/config.py +0 -0
  101. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/container_process.py +0 -0
  102. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/container_process.pyi +0 -0
  103. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/dict.pyi +0 -0
  104. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/environments.py +0 -0
  105. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/environments.pyi +0 -0
  106. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/exception.py +0 -0
  107. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/experimental/__init__.py +0 -0
  108. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/experimental/flash.py +0 -0
  109. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/experimental/flash.pyi +0 -0
  110. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/experimental/ipython.py +0 -0
  111. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/file_io.py +0 -0
  112. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/file_io.pyi +0 -0
  113. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/file_pattern_matcher.py +0 -0
  114. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/functions.py +0 -0
  115. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/functions.pyi +0 -0
  116. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/gpu.py +0 -0
  117. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/image.py +0 -0
  118. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/image.pyi +0 -0
  119. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/io_streams.py +0 -0
  120. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/io_streams.pyi +0 -0
  121. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/mount.py +0 -0
  122. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/mount.pyi +0 -0
  123. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/network_file_system.py +0 -0
  124. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/network_file_system.pyi +0 -0
  125. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/object.py +0 -0
  126. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/object.pyi +0 -0
  127. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/output.py +0 -0
  128. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/parallel_map.py +0 -0
  129. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/parallel_map.pyi +0 -0
  130. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/partial_function.py +0 -0
  131. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/partial_function.pyi +0 -0
  132. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/proxy.py +0 -0
  133. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/proxy.pyi +0 -0
  134. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/py.typed +0 -0
  135. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/queue.pyi +0 -0
  136. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/2023.12.312.txt +0 -0
  137. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/2023.12.txt +0 -0
  138. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/2024.04.txt +0 -0
  139. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/2024.10.txt +0 -0
  140. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/2025.06.txt +0 -0
  141. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/PREVIEW.txt +0 -0
  142. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/README.md +0 -0
  143. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/requirements/base-images.json +0 -0
  144. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/retries.py +0 -0
  145. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/runner.py +0 -0
  146. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/runner.pyi +0 -0
  147. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/running_app.py +0 -0
  148. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/sandbox.py +0 -0
  149. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/sandbox.pyi +0 -0
  150. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/schedule.py +0 -0
  151. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/scheduler_placement.py +0 -0
  152. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/secret.pyi +0 -0
  153. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/serving.py +0 -0
  154. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/serving.pyi +0 -0
  155. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/snapshot.py +0 -0
  156. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/snapshot.pyi +0 -0
  157. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/stream_type.py +0 -0
  158. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/token_flow.py +0 -0
  159. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/token_flow.pyi +0 -0
  160. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/volume.py +0 -0
  161. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal/volume.pyi +0 -0
  162. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/SOURCES.txt +0 -0
  163. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/dependency_links.txt +0 -0
  164. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/entry_points.txt +0 -0
  165. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/requires.txt +0 -0
  166. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal.egg-info/top_level.txt +0 -0
  167. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/__init__.py +0 -0
  168. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/gen_cli_docs.py +0 -0
  169. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/gen_reference_docs.py +0 -0
  170. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/mdmd/__init__.py +0 -0
  171. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/mdmd/mdmd.py +0 -0
  172. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_docs/mdmd/signatures.py +0 -0
  173. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/__init__.py +0 -0
  174. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api_grpc.py +0 -0
  175. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api_pb2_grpc.py +0 -0
  176. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/api_pb2_grpc.pyi +0 -0
  177. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/modal_api_grpc.py +0 -0
  178. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/modal_options_grpc.py +0 -0
  179. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options.proto +0 -0
  180. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options_grpc.py +0 -0
  181. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options_pb2.py +0 -0
  182. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options_pb2.pyi +0 -0
  183. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options_pb2_grpc.py +0 -0
  184. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/options_pb2_grpc.pyi +0 -0
  185. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_proto/py.typed +0 -0
  186. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/modal_version/__main__.py +0 -0
  187. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/pyproject.toml +0 -0
  188. {modal-1.1.1.dev15 → modal-1.1.1.dev16}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.1.dev15
3
+ Version: 1.1.1.dev16
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -33,7 +33,7 @@ class _Client:
33
33
  server_url: str,
34
34
  client_type: int,
35
35
  credentials: typing.Optional[tuple[str, str]],
36
- version: str = "1.1.1.dev15",
36
+ version: str = "1.1.1.dev16",
37
37
  ):
38
38
  """mdmd:hidden
39
39
  The Modal client object is not intended to be instantiated directly by users.
@@ -163,7 +163,7 @@ class Client:
163
163
  server_url: str,
164
164
  client_type: int,
165
165
  credentials: typing.Optional[tuple[str, str]],
166
- version: str = "1.1.1.dev15",
166
+ version: str = "1.1.1.dev16",
167
167
  ):
168
168
  """mdmd:hidden
169
169
  The Modal client object is not intended to be instantiated directly by users.
@@ -153,7 +153,7 @@ class _Dict(_Object, type_prefix="di"):
153
153
  )
154
154
  response = await resolver.client.stub.DictGetOrCreate(req)
155
155
  logger.debug(f"Created dict with id {response.dict_id}")
156
- self._hydrate(response.dict_id, resolver.client, None)
156
+ self._hydrate(response.dict_id, resolver.client, response.metadata)
157
157
 
158
158
  return _Dict._from_loader(_load, "Dict()", is_another_app=True, hydrate_lazily=True)
159
159
 
@@ -173,7 +173,7 @@ class _Queue(_Object, type_prefix="qu"):
173
173
  object_creation_type=(api_pb2.OBJECT_CREATION_TYPE_CREATE_IF_MISSING if create_if_missing else None),
174
174
  )
175
175
  response = await resolver.client.stub.QueueGetOrCreate(req)
176
- self._hydrate(response.queue_id, resolver.client, None)
176
+ self._hydrate(response.queue_id, resolver.client, response.metadata)
177
177
 
178
178
  return _Queue._from_loader(_load, "Queue()", is_another_app=True, hydrate_lazily=True)
179
179
 
@@ -73,7 +73,7 @@ class _Secret(_Object, type_prefix="st"):
73
73
  if exc.status == Status.FAILED_PRECONDITION:
74
74
  raise InvalidError(exc.message)
75
75
  raise
76
- self._hydrate(resp.secret_id, resolver.client, None)
76
+ self._hydrate(resp.secret_id, resolver.client, resp.metadata)
77
77
 
78
78
  rep = f"Secret.from_dict([{', '.join(env_dict.keys())}])"
79
79
  return _Secret._from_loader(_load, rep, hydrate_lazily=True)
@@ -157,7 +157,7 @@ class _Secret(_Object, type_prefix="st"):
157
157
  )
158
158
  resp = await resolver.client.stub.SecretGetOrCreate(req)
159
159
 
160
- self._hydrate(resp.secret_id, resolver.client, None)
160
+ self._hydrate(resp.secret_id, resolver.client, resp.metadata)
161
161
 
162
162
  return _Secret._from_loader(_load, "Secret.from_dotenv()", hydrate_lazily=True)
163
163
 
@@ -200,7 +200,7 @@ class _Secret(_Object, type_prefix="st"):
200
200
  raise NotFoundError(exc.message)
201
201
  else:
202
202
  raise
203
- self._hydrate(response.secret_id, resolver.client, None)
203
+ self._hydrate(response.secret_id, resolver.client, response.metadata)
204
204
 
205
205
  return _Secret._from_loader(_load, "Secret()", hydrate_lazily=True)
206
206
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.1.dev15
3
+ Version: 1.1.1.dev16
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -1035,6 +1035,13 @@ message ContainerStopRequest {
1035
1035
  message ContainerStopResponse {
1036
1036
  }
1037
1037
 
1038
+
1039
+ message CreationInfo {
1040
+ // This message is used in metadata for resource objects like Dict, Queue, Volume, etc.
1041
+ double created_at = 1; // Timestamp of resource creation
1042
+ string created_by = 2; // User name or service name
1043
+ }
1044
+
1038
1045
  message CustomDomainConfig {
1039
1046
  string name = 1;
1040
1047
  }
@@ -1099,6 +1106,7 @@ message DictGetOrCreateRequest {
1099
1106
 
1100
1107
  message DictGetOrCreateResponse {
1101
1108
  string dict_id = 1;
1109
+ DictMetadata metadata = 2;
1102
1110
  }
1103
1111
 
1104
1112
  message DictGetRequest {
@@ -1136,6 +1144,11 @@ message DictListResponse {
1136
1144
  repeated DictInfo dicts = 1;
1137
1145
  }
1138
1146
 
1147
+ message DictMetadata {
1148
+ string name = 1;
1149
+ CreationInfo creation_info = 2;
1150
+ }
1151
+
1139
1152
  message DictPopRequest {
1140
1153
  string dict_id = 1;
1141
1154
  bytes key = 2;
@@ -2376,6 +2389,7 @@ message QueueGetOrCreateRequest {
2376
2389
 
2377
2390
  message QueueGetOrCreateResponse {
2378
2391
  string queue_id = 1;
2392
+ QueueMetadata metadata = 2;
2379
2393
  }
2380
2394
 
2381
2395
  message QueueGetRequest {
@@ -2425,6 +2439,11 @@ message QueueListResponse {
2425
2439
  repeated QueueInfo queues = 1;
2426
2440
  }
2427
2441
 
2442
+ message QueueMetadata {
2443
+ string name = 1;
2444
+ CreationInfo creation_info = 2;
2445
+ }
2446
+
2428
2447
  message QueueNextItemsRequest {
2429
2448
  string queue_id = 1;
2430
2449
  bytes partition_key = 2;
@@ -2800,6 +2819,7 @@ message SecretGetOrCreateRequest {
2800
2819
 
2801
2820
  message SecretGetOrCreateResponse {
2802
2821
  string secret_id = 1;
2822
+ SecretMetadata metadata = 2;
2803
2823
  }
2804
2824
 
2805
2825
  message SecretListItem {
@@ -2819,6 +2839,13 @@ message SecretListResponse {
2819
2839
  string environment_name = 2; // the environment that was listed (useful when relying on "default" logic)
2820
2840
  }
2821
2841
 
2842
+ message SecretMetadata {
2843
+ string name = 1;
2844
+ CreationInfo creation_info = 2;
2845
+ }
2846
+
2847
+ // SharedVolume in the backend corresponds to NetworkFileSystem in the current API
2848
+
2822
2849
  message SharedVolumeDeleteRequest {
2823
2850
  string shared_volume_id = 1;
2824
2851
  }
@@ -3127,7 +3154,7 @@ message VolumeGetOrCreateRequest {
3127
3154
 
3128
3155
  message VolumeGetOrCreateResponse {
3129
3156
  string volume_id = 1;
3130
- VolumeFsVersion version = 2;
3157
+ VolumeFsVersion version = 2; // Not used directly; version is part of the metadata
3131
3158
  VolumeMetadata metadata = 3;
3132
3159
  }
3133
3160
 
@@ -3174,6 +3201,8 @@ message VolumeListResponse {
3174
3201
 
3175
3202
  message VolumeMetadata {
3176
3203
  VolumeFsVersion version = 1;
3204
+ string name = 2;
3205
+ CreationInfo creation_info = 3;
3177
3206
  }
3178
3207
 
3179
3208
  message VolumeMount {