modal 1.1.5.dev34__tar.gz → 1.1.5.dev36__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 (190) hide show
  1. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/PKG-INFO +1 -1
  2. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/cluster.py +7 -1
  3. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/client.pyi +2 -2
  4. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/functions.pyi +6 -6
  5. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/sandbox.py +6 -6
  6. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/sandbox.pyi +6 -6
  7. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/PKG-INFO +1 -1
  8. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api.proto +1 -1
  9. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api_pb2.py +330 -330
  10. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api_pb2.pyi +4 -4
  11. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_version/__init__.py +1 -1
  12. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/LICENSE +0 -0
  13. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/README.md +0 -0
  14. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/__init__.py +0 -0
  15. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/__main__.py +0 -0
  16. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_clustered_functions.py +0 -0
  17. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_clustered_functions.pyi +0 -0
  18. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_container_entrypoint.py +0 -0
  19. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_functions.py +0 -0
  20. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_ipython.py +0 -0
  21. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_location.py +0 -0
  22. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_object.py +0 -0
  23. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_output.py +0 -0
  24. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_partial_function.py +0 -0
  25. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_pty.py +0 -0
  26. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_resolver.py +0 -0
  27. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_resources.py +0 -0
  28. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/__init__.py +0 -0
  29. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/asgi.py +0 -0
  30. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/container_io_manager.py +0 -0
  31. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/container_io_manager.pyi +0 -0
  32. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/execution_context.py +0 -0
  33. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/execution_context.pyi +0 -0
  34. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  35. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/telemetry.py +0 -0
  36. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_runtime/user_code_imports.py +0 -0
  37. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_serialization.py +0 -0
  38. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_traceback.py +0 -0
  39. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_tunnel.py +0 -0
  40. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_tunnel.pyi +0 -0
  41. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_type_manager.py +0 -0
  42. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/__init__.py +0 -0
  43. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/app_utils.py +0 -0
  44. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/async_utils.py +0 -0
  45. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/auth_token_manager.py +0 -0
  46. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/blob_utils.py +0 -0
  47. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/bytes_io_segment_payload.py +0 -0
  48. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/deprecation.py +0 -0
  49. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/docker_utils.py +0 -0
  50. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/function_utils.py +0 -0
  51. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/git_utils.py +0 -0
  52. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/grpc_testing.py +0 -0
  53. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/grpc_utils.py +0 -0
  54. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/hash_utils.py +0 -0
  55. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/http_utils.py +0 -0
  56. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/jwt_utils.py +0 -0
  57. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/logger.py +0 -0
  58. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/mount_utils.py +0 -0
  59. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/name_utils.py +0 -0
  60. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/package_utils.py +0 -0
  61. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/pattern_utils.py +0 -0
  62. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/rand_pb_testing.py +0 -0
  63. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/shell_utils.py +0 -0
  64. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_utils/time_utils.py +0 -0
  65. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_vendor/__init__.py +0 -0
  66. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  67. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_vendor/cloudpickle.py +0 -0
  68. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_vendor/tblib.py +0 -0
  69. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/_watcher.py +0 -0
  70. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/app.py +0 -0
  71. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/app.pyi +0 -0
  72. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/2023.12.312.txt +0 -0
  73. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/2023.12.txt +0 -0
  74. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/2024.04.txt +0 -0
  75. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/2024.10.txt +0 -0
  76. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/2025.06.txt +0 -0
  77. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/PREVIEW.txt +0 -0
  78. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/README.md +0 -0
  79. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/builder/base-images.json +0 -0
  80. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/call_graph.py +0 -0
  81. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/__init__.py +0 -0
  82. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/_download.py +0 -0
  83. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/_traceback.py +0 -0
  84. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/app.py +0 -0
  85. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/config.py +0 -0
  86. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/container.py +0 -0
  87. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/dict.py +0 -0
  88. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/entry_point.py +0 -0
  89. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/environment.py +0 -0
  90. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/import_refs.py +0 -0
  91. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/launch.py +0 -0
  92. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/network_file_system.py +0 -0
  93. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/profile.py +0 -0
  94. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/programs/__init__.py +0 -0
  95. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/programs/launch_instance_ssh.py +0 -0
  96. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/programs/run_jupyter.py +0 -0
  97. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/programs/run_marimo.py +0 -0
  98. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/programs/vscode.py +0 -0
  99. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/queues.py +0 -0
  100. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/run.py +0 -0
  101. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/secret.py +0 -0
  102. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/token.py +0 -0
  103. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/utils.py +0 -0
  104. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cli/volume.py +0 -0
  105. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/client.py +0 -0
  106. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cloud_bucket_mount.py +0 -0
  107. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cloud_bucket_mount.pyi +0 -0
  108. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cls.py +0 -0
  109. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/cls.pyi +0 -0
  110. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/config.py +0 -0
  111. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/container_process.py +0 -0
  112. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/container_process.pyi +0 -0
  113. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/dict.py +0 -0
  114. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/dict.pyi +0 -0
  115. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/environments.py +0 -0
  116. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/environments.pyi +0 -0
  117. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/exception.py +0 -0
  118. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/experimental/__init__.py +0 -0
  119. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/experimental/flash.py +0 -0
  120. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/experimental/flash.pyi +0 -0
  121. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/experimental/ipython.py +0 -0
  122. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/file_io.py +0 -0
  123. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/file_io.pyi +0 -0
  124. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/file_pattern_matcher.py +0 -0
  125. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/functions.py +0 -0
  126. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/gpu.py +0 -0
  127. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/image.py +0 -0
  128. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/image.pyi +0 -0
  129. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/io_streams.py +0 -0
  130. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/io_streams.pyi +0 -0
  131. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/mount.py +0 -0
  132. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/mount.pyi +0 -0
  133. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/network_file_system.py +0 -0
  134. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/network_file_system.pyi +0 -0
  135. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/object.py +0 -0
  136. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/object.pyi +0 -0
  137. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/output.py +0 -0
  138. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/parallel_map.py +0 -0
  139. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/parallel_map.pyi +0 -0
  140. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/partial_function.py +0 -0
  141. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/partial_function.pyi +0 -0
  142. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/proxy.py +0 -0
  143. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/proxy.pyi +0 -0
  144. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/py.typed +0 -0
  145. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/queue.py +0 -0
  146. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/queue.pyi +0 -0
  147. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/retries.py +0 -0
  148. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/runner.py +0 -0
  149. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/runner.pyi +0 -0
  150. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/running_app.py +0 -0
  151. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/schedule.py +0 -0
  152. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/scheduler_placement.py +0 -0
  153. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/secret.py +0 -0
  154. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/secret.pyi +0 -0
  155. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/serving.py +0 -0
  156. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/serving.pyi +0 -0
  157. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/snapshot.py +0 -0
  158. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/snapshot.pyi +0 -0
  159. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/stream_type.py +0 -0
  160. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/token_flow.py +0 -0
  161. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/token_flow.pyi +0 -0
  162. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/volume.py +0 -0
  163. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal/volume.pyi +0 -0
  164. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/SOURCES.txt +0 -0
  165. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/dependency_links.txt +0 -0
  166. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/entry_points.txt +0 -0
  167. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/requires.txt +0 -0
  168. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal.egg-info/top_level.txt +0 -0
  169. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/__init__.py +0 -0
  170. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/gen_cli_docs.py +0 -0
  171. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/gen_reference_docs.py +0 -0
  172. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/mdmd/__init__.py +0 -0
  173. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/mdmd/mdmd.py +0 -0
  174. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_docs/mdmd/signatures.py +0 -0
  175. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/__init__.py +0 -0
  176. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api_grpc.py +0 -0
  177. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api_pb2_grpc.py +0 -0
  178. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/api_pb2_grpc.pyi +0 -0
  179. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/modal_api_grpc.py +0 -0
  180. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/modal_options_grpc.py +0 -0
  181. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options.proto +0 -0
  182. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options_grpc.py +0 -0
  183. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options_pb2.py +0 -0
  184. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options_pb2.pyi +0 -0
  185. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options_pb2_grpc.py +0 -0
  186. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/options_pb2_grpc.pyi +0 -0
  187. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_proto/py.typed +0 -0
  188. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/modal_version/__main__.py +0 -0
  189. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/pyproject.toml +0 -0
  190. {modal-1.1.5.dev34 → modal-1.1.5.dev36}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev34
3
+ Version: 1.1.5.dev36
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -2,6 +2,7 @@
2
2
  from typing import Optional, Union
3
3
 
4
4
  import typer
5
+ from rich.table import Column
5
6
  from rich.text import Text
6
7
 
7
8
  from modal._object import _get_environment_name
@@ -33,7 +34,12 @@ async def list_(env: Optional[str] = ENV_OPTION, json: bool = False):
33
34
  api_pb2.ClusterListRequest(environment_name=environment_name)
34
35
  )
35
36
 
36
- column_names = ["Cluster ID", "App ID", "Start Time", "Nodes"]
37
+ column_names: list[Union[Column, str]] = [
38
+ Column("Cluster ID", min_width=25),
39
+ Column("App ID", min_width=25),
40
+ "Start Time",
41
+ "Nodes",
42
+ ]
37
43
  rows: list[list[Union[Text, str]]] = []
38
44
  res.clusters.sort(key=lambda c: c.started_at, reverse=True)
39
45
 
@@ -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.dev34",
36
+ version: str = "1.1.5.dev36",
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.dev34",
167
+ version: str = "1.1.5.dev36",
168
168
  ):
169
169
  """mdmd:hidden
170
170
  The Modal client object is not intended to be instantiated directly by users.
@@ -449,7 +449,7 @@ class Function(
449
449
 
450
450
  _call_generator: ___call_generator_spec[typing_extensions.Self]
451
451
 
452
- class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
452
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
453
453
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
454
454
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
455
455
  ...
@@ -458,7 +458,7 @@ class Function(
458
458
  """Calls the function remotely, executing it with the given arguments and returning the execution's result."""
459
459
  ...
460
460
 
461
- remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
461
+ remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
462
462
 
463
463
  class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
464
464
  def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
@@ -485,7 +485,7 @@ class Function(
485
485
  """
486
486
  ...
487
487
 
488
- class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
488
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
489
489
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
490
490
  """[Experimental] Calls the function with the given arguments, without waiting for the results.
491
491
 
@@ -509,7 +509,7 @@ class Function(
509
509
  ...
510
510
 
511
511
  _experimental_spawn: ___experimental_spawn_spec[
512
- modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
512
+ modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
513
513
  ]
514
514
 
515
515
  class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
@@ -518,7 +518,7 @@ class Function(
518
518
 
519
519
  _spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
520
520
 
521
- class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
521
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
522
522
  def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
523
523
  """Calls the function with the given arguments, without waiting for the results.
524
524
 
@@ -539,7 +539,7 @@ class Function(
539
539
  """
540
540
  ...
541
541
 
542
- spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
542
+ spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
543
543
 
544
544
  def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
545
545
  """Return the inner Python object wrapped by this Modal Function."""
@@ -667,19 +667,19 @@ class _Sandbox(_Object, type_prefix="sb"):
667
667
  return self._tunnels
668
668
 
669
669
  async def create_connect_token(
670
- self, metadata: Optional[Union[str, dict[str, Any]]] = None
670
+ self, user_metadata: Optional[Union[str, dict[str, Any]]] = None
671
671
  ) -> SandboxConnectCredentials:
672
672
  """Create a token for making HTTP connections to the sandbox.
673
673
 
674
- Also accepts an optional metadata string or dict to associate with the token. This metadata
674
+ Also accepts an optional user_metadata string or dict to associate with the token. This metadata
675
675
  will be added to the headers by the proxy when forwarding requests to the sandbox."""
676
- if metadata is not None and isinstance(metadata, dict):
676
+ if user_metadata is not None and isinstance(user_metadata, dict):
677
677
  try:
678
- metadata = json.dumps(metadata)
678
+ user_metadata = json.dumps(user_metadata)
679
679
  except Exception as e:
680
- raise InvalidError(f"Failed to serialize metadata: {e}")
680
+ raise InvalidError(f"Failed to serialize user_metadata: {e}")
681
681
 
682
- req = api_pb2.SandboxCreateConnectTokenRequest(sandbox_id=self.object_id, metadata=metadata)
682
+ req = api_pb2.SandboxCreateConnectTokenRequest(sandbox_id=self.object_id, user_metadata=user_metadata)
683
683
  resp = await retry_transient_errors(self._client.stub.SandboxCreateConnectToken, req)
684
684
  return SandboxConnectCredentials(resp.url, resp.token)
685
685
 
@@ -274,11 +274,11 @@ class _Sandbox(modal._object._Object):
274
274
  ...
275
275
 
276
276
  async def create_connect_token(
277
- self, metadata: typing.Union[str, dict[str, typing.Any], None] = None
277
+ self, user_metadata: typing.Union[str, dict[str, typing.Any], None] = None
278
278
  ) -> SandboxConnectCredentials:
279
279
  """Create a token for making HTTP connections to the sandbox.
280
280
 
281
- Also accepts an optional metadata string or dict to associate with the token. This metadata
281
+ Also accepts an optional user_metadata string or dict to associate with the token. This metadata
282
282
  will be added to the headers by the proxy when forwarding requests to the sandbox.
283
283
  """
284
284
  ...
@@ -829,21 +829,21 @@ class Sandbox(modal.object.Object):
829
829
 
830
830
  class __create_connect_token_spec(typing_extensions.Protocol[SUPERSELF]):
831
831
  def __call__(
832
- self, /, metadata: typing.Union[str, dict[str, typing.Any], None] = None
832
+ self, /, user_metadata: typing.Union[str, dict[str, typing.Any], None] = None
833
833
  ) -> SandboxConnectCredentials:
834
834
  """Create a token for making HTTP connections to the sandbox.
835
835
 
836
- Also accepts an optional metadata string or dict to associate with the token. This metadata
836
+ Also accepts an optional user_metadata string or dict to associate with the token. This metadata
837
837
  will be added to the headers by the proxy when forwarding requests to the sandbox.
838
838
  """
839
839
  ...
840
840
 
841
841
  async def aio(
842
- self, /, metadata: typing.Union[str, dict[str, typing.Any], None] = None
842
+ self, /, user_metadata: typing.Union[str, dict[str, typing.Any], None] = None
843
843
  ) -> SandboxConnectCredentials:
844
844
  """Create a token for making HTTP connections to the sandbox.
845
845
 
846
- Also accepts an optional metadata string or dict to associate with the token. This metadata
846
+ Also accepts an optional user_metadata string or dict to associate with the token. This metadata
847
847
  will be added to the headers by the proxy when forwarding requests to the sandbox.
848
848
  """
849
849
  ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.1.5.dev34
3
+ Version: 1.1.5.dev36
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -2708,7 +2708,7 @@ message Sandbox {
2708
2708
 
2709
2709
  message SandboxCreateConnectTokenRequest {
2710
2710
  string sandbox_id = 1;
2711
- string metadata = 2;
2711
+ string user_metadata = 2;
2712
2712
  }
2713
2713
 
2714
2714
  message SandboxCreateConnectTokenResponse {