modal 0.73.42__tar.gz → 0.73.43__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 (187) hide show
  1. {modal-0.73.42 → modal-0.73.43}/PKG-INFO +1 -1
  2. modal-0.73.43/modal/_location.py +11 -0
  3. {modal-0.73.42 → modal-0.73.43}/modal/cli/network_file_system.py +3 -1
  4. {modal-0.73.42 → modal-0.73.43}/modal/client.pyi +2 -2
  5. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/PKG-INFO +1 -1
  6. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/SOURCES.txt +1 -0
  7. {modal-0.73.42 → modal-0.73.43}/modal_proto/api.proto +9 -4
  8. {modal-0.73.42 → modal-0.73.43}/modal_proto/api_pb2.py +171 -167
  9. {modal-0.73.42 → modal-0.73.43}/modal_proto/api_pb2.pyi +18 -6
  10. {modal-0.73.42 → modal-0.73.43}/modal_version/_version_generated.py +1 -1
  11. {modal-0.73.42 → modal-0.73.43}/LICENSE +0 -0
  12. {modal-0.73.42 → modal-0.73.43}/README.md +0 -0
  13. {modal-0.73.42 → modal-0.73.43}/modal/__init__.py +0 -0
  14. {modal-0.73.42 → modal-0.73.43}/modal/__main__.py +0 -0
  15. {modal-0.73.42 → modal-0.73.43}/modal/_clustered_functions.py +0 -0
  16. {modal-0.73.42 → modal-0.73.43}/modal/_clustered_functions.pyi +0 -0
  17. {modal-0.73.42 → modal-0.73.43}/modal/_container_entrypoint.py +0 -0
  18. {modal-0.73.42 → modal-0.73.43}/modal/_functions.py +0 -0
  19. {modal-0.73.42 → modal-0.73.43}/modal/_ipython.py +0 -0
  20. {modal-0.73.42 → modal-0.73.43}/modal/_object.py +0 -0
  21. {modal-0.73.42 → modal-0.73.43}/modal/_output.py +0 -0
  22. {modal-0.73.42 → modal-0.73.43}/modal/_partial_function.py +0 -0
  23. {modal-0.73.42 → modal-0.73.43}/modal/_proxy_tunnel.py +0 -0
  24. {modal-0.73.42 → modal-0.73.43}/modal/_pty.py +0 -0
  25. {modal-0.73.42 → modal-0.73.43}/modal/_resolver.py +0 -0
  26. {modal-0.73.42 → modal-0.73.43}/modal/_resources.py +0 -0
  27. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/__init__.py +0 -0
  28. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/asgi.py +0 -0
  29. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/container_io_manager.py +0 -0
  30. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/execution_context.py +0 -0
  31. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/gpu_memory_snapshot.py +0 -0
  32. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/telemetry.py +0 -0
  33. {modal-0.73.42 → modal-0.73.43}/modal/_runtime/user_code_imports.py +0 -0
  34. {modal-0.73.42 → modal-0.73.43}/modal/_serialization.py +0 -0
  35. {modal-0.73.42 → modal-0.73.43}/modal/_traceback.py +0 -0
  36. {modal-0.73.42 → modal-0.73.43}/modal/_tunnel.py +0 -0
  37. {modal-0.73.42 → modal-0.73.43}/modal/_tunnel.pyi +0 -0
  38. {modal-0.73.42 → modal-0.73.43}/modal/_utils/__init__.py +0 -0
  39. {modal-0.73.42 → modal-0.73.43}/modal/_utils/app_utils.py +0 -0
  40. {modal-0.73.42 → modal-0.73.43}/modal/_utils/async_utils.py +0 -0
  41. {modal-0.73.42 → modal-0.73.43}/modal/_utils/blob_utils.py +0 -0
  42. {modal-0.73.42 → modal-0.73.43}/modal/_utils/bytes_io_segment_payload.py +0 -0
  43. {modal-0.73.42 → modal-0.73.43}/modal/_utils/deprecation.py +0 -0
  44. {modal-0.73.42 → modal-0.73.43}/modal/_utils/docker_utils.py +0 -0
  45. {modal-0.73.42 → modal-0.73.43}/modal/_utils/function_utils.py +0 -0
  46. {modal-0.73.42 → modal-0.73.43}/modal/_utils/grpc_testing.py +0 -0
  47. {modal-0.73.42 → modal-0.73.43}/modal/_utils/grpc_utils.py +0 -0
  48. {modal-0.73.42 → modal-0.73.43}/modal/_utils/hash_utils.py +0 -0
  49. {modal-0.73.42 → modal-0.73.43}/modal/_utils/http_utils.py +0 -0
  50. {modal-0.73.42 → modal-0.73.43}/modal/_utils/logger.py +0 -0
  51. {modal-0.73.42 → modal-0.73.43}/modal/_utils/mount_utils.py +0 -0
  52. {modal-0.73.42 → modal-0.73.43}/modal/_utils/name_utils.py +0 -0
  53. {modal-0.73.42 → modal-0.73.43}/modal/_utils/package_utils.py +0 -0
  54. {modal-0.73.42 → modal-0.73.43}/modal/_utils/pattern_utils.py +0 -0
  55. {modal-0.73.42 → modal-0.73.43}/modal/_utils/rand_pb_testing.py +0 -0
  56. {modal-0.73.42 → modal-0.73.43}/modal/_utils/shell_utils.py +0 -0
  57. {modal-0.73.42 → modal-0.73.43}/modal/_vendor/__init__.py +0 -0
  58. {modal-0.73.42 → modal-0.73.43}/modal/_vendor/a2wsgi_wsgi.py +0 -0
  59. {modal-0.73.42 → modal-0.73.43}/modal/_vendor/cloudpickle.py +0 -0
  60. {modal-0.73.42 → modal-0.73.43}/modal/_vendor/tblib.py +0 -0
  61. {modal-0.73.42 → modal-0.73.43}/modal/_watcher.py +0 -0
  62. {modal-0.73.42 → modal-0.73.43}/modal/app.py +0 -0
  63. {modal-0.73.42 → modal-0.73.43}/modal/app.pyi +0 -0
  64. {modal-0.73.42 → modal-0.73.43}/modal/call_graph.py +0 -0
  65. {modal-0.73.42 → modal-0.73.43}/modal/cli/__init__.py +0 -0
  66. {modal-0.73.42 → modal-0.73.43}/modal/cli/_download.py +0 -0
  67. {modal-0.73.42 → modal-0.73.43}/modal/cli/_traceback.py +0 -0
  68. {modal-0.73.42 → modal-0.73.43}/modal/cli/app.py +0 -0
  69. {modal-0.73.42 → modal-0.73.43}/modal/cli/config.py +0 -0
  70. {modal-0.73.42 → modal-0.73.43}/modal/cli/container.py +0 -0
  71. {modal-0.73.42 → modal-0.73.43}/modal/cli/dict.py +0 -0
  72. {modal-0.73.42 → modal-0.73.43}/modal/cli/entry_point.py +0 -0
  73. {modal-0.73.42 → modal-0.73.43}/modal/cli/environment.py +0 -0
  74. {modal-0.73.42 → modal-0.73.43}/modal/cli/import_refs.py +0 -0
  75. {modal-0.73.42 → modal-0.73.43}/modal/cli/launch.py +0 -0
  76. {modal-0.73.42 → modal-0.73.43}/modal/cli/profile.py +0 -0
  77. {modal-0.73.42 → modal-0.73.43}/modal/cli/programs/__init__.py +0 -0
  78. {modal-0.73.42 → modal-0.73.43}/modal/cli/programs/run_jupyter.py +0 -0
  79. {modal-0.73.42 → modal-0.73.43}/modal/cli/programs/vscode.py +0 -0
  80. {modal-0.73.42 → modal-0.73.43}/modal/cli/queues.py +0 -0
  81. {modal-0.73.42 → modal-0.73.43}/modal/cli/run.py +0 -0
  82. {modal-0.73.42 → modal-0.73.43}/modal/cli/secret.py +0 -0
  83. {modal-0.73.42 → modal-0.73.43}/modal/cli/token.py +0 -0
  84. {modal-0.73.42 → modal-0.73.43}/modal/cli/utils.py +0 -0
  85. {modal-0.73.42 → modal-0.73.43}/modal/cli/volume.py +0 -0
  86. {modal-0.73.42 → modal-0.73.43}/modal/client.py +0 -0
  87. {modal-0.73.42 → modal-0.73.43}/modal/cloud_bucket_mount.py +0 -0
  88. {modal-0.73.42 → modal-0.73.43}/modal/cloud_bucket_mount.pyi +0 -0
  89. {modal-0.73.42 → modal-0.73.43}/modal/cls.py +0 -0
  90. {modal-0.73.42 → modal-0.73.43}/modal/cls.pyi +0 -0
  91. {modal-0.73.42 → modal-0.73.43}/modal/config.py +0 -0
  92. {modal-0.73.42 → modal-0.73.43}/modal/container_process.py +0 -0
  93. {modal-0.73.42 → modal-0.73.43}/modal/container_process.pyi +0 -0
  94. {modal-0.73.42 → modal-0.73.43}/modal/dict.py +0 -0
  95. {modal-0.73.42 → modal-0.73.43}/modal/dict.pyi +0 -0
  96. {modal-0.73.42 → modal-0.73.43}/modal/environments.py +0 -0
  97. {modal-0.73.42 → modal-0.73.43}/modal/environments.pyi +0 -0
  98. {modal-0.73.42 → modal-0.73.43}/modal/exception.py +0 -0
  99. {modal-0.73.42 → modal-0.73.43}/modal/experimental.py +0 -0
  100. {modal-0.73.42 → modal-0.73.43}/modal/experimental.pyi +0 -0
  101. {modal-0.73.42 → modal-0.73.43}/modal/extensions/__init__.py +0 -0
  102. {modal-0.73.42 → modal-0.73.43}/modal/extensions/ipython.py +0 -0
  103. {modal-0.73.42 → modal-0.73.43}/modal/file_io.py +0 -0
  104. {modal-0.73.42 → modal-0.73.43}/modal/file_io.pyi +0 -0
  105. {modal-0.73.42 → modal-0.73.43}/modal/file_pattern_matcher.py +0 -0
  106. {modal-0.73.42 → modal-0.73.43}/modal/functions.py +0 -0
  107. {modal-0.73.42 → modal-0.73.43}/modal/functions.pyi +0 -0
  108. {modal-0.73.42 → modal-0.73.43}/modal/gpu.py +0 -0
  109. {modal-0.73.42 → modal-0.73.43}/modal/image.py +0 -0
  110. {modal-0.73.42 → modal-0.73.43}/modal/image.pyi +0 -0
  111. {modal-0.73.42 → modal-0.73.43}/modal/io_streams.py +0 -0
  112. {modal-0.73.42 → modal-0.73.43}/modal/io_streams.pyi +0 -0
  113. {modal-0.73.42 → modal-0.73.43}/modal/mount.py +0 -0
  114. {modal-0.73.42 → modal-0.73.43}/modal/mount.pyi +0 -0
  115. {modal-0.73.42 → modal-0.73.43}/modal/network_file_system.py +0 -0
  116. {modal-0.73.42 → modal-0.73.43}/modal/network_file_system.pyi +0 -0
  117. {modal-0.73.42 → modal-0.73.43}/modal/object.py +0 -0
  118. {modal-0.73.42 → modal-0.73.43}/modal/object.pyi +0 -0
  119. {modal-0.73.42 → modal-0.73.43}/modal/output.py +0 -0
  120. {modal-0.73.42 → modal-0.73.43}/modal/parallel_map.py +0 -0
  121. {modal-0.73.42 → modal-0.73.43}/modal/parallel_map.pyi +0 -0
  122. {modal-0.73.42 → modal-0.73.43}/modal/partial_function.py +0 -0
  123. {modal-0.73.42 → modal-0.73.43}/modal/partial_function.pyi +0 -0
  124. {modal-0.73.42 → modal-0.73.43}/modal/proxy.py +0 -0
  125. {modal-0.73.42 → modal-0.73.43}/modal/proxy.pyi +0 -0
  126. {modal-0.73.42 → modal-0.73.43}/modal/py.typed +0 -0
  127. {modal-0.73.42 → modal-0.73.43}/modal/queue.py +0 -0
  128. {modal-0.73.42 → modal-0.73.43}/modal/queue.pyi +0 -0
  129. {modal-0.73.42 → modal-0.73.43}/modal/requirements/2023.12.312.txt +0 -0
  130. {modal-0.73.42 → modal-0.73.43}/modal/requirements/2023.12.txt +0 -0
  131. {modal-0.73.42 → modal-0.73.43}/modal/requirements/2024.04.txt +0 -0
  132. {modal-0.73.42 → modal-0.73.43}/modal/requirements/2024.10.txt +0 -0
  133. {modal-0.73.42 → modal-0.73.43}/modal/requirements/README.md +0 -0
  134. {modal-0.73.42 → modal-0.73.43}/modal/requirements/base-images.json +0 -0
  135. {modal-0.73.42 → modal-0.73.43}/modal/retries.py +0 -0
  136. {modal-0.73.42 → modal-0.73.43}/modal/runner.py +0 -0
  137. {modal-0.73.42 → modal-0.73.43}/modal/runner.pyi +0 -0
  138. {modal-0.73.42 → modal-0.73.43}/modal/running_app.py +0 -0
  139. {modal-0.73.42 → modal-0.73.43}/modal/sandbox.py +0 -0
  140. {modal-0.73.42 → modal-0.73.43}/modal/sandbox.pyi +0 -0
  141. {modal-0.73.42 → modal-0.73.43}/modal/schedule.py +0 -0
  142. {modal-0.73.42 → modal-0.73.43}/modal/scheduler_placement.py +0 -0
  143. {modal-0.73.42 → modal-0.73.43}/modal/secret.py +0 -0
  144. {modal-0.73.42 → modal-0.73.43}/modal/secret.pyi +0 -0
  145. {modal-0.73.42 → modal-0.73.43}/modal/serving.py +0 -0
  146. {modal-0.73.42 → modal-0.73.43}/modal/serving.pyi +0 -0
  147. {modal-0.73.42 → modal-0.73.43}/modal/snapshot.py +0 -0
  148. {modal-0.73.42 → modal-0.73.43}/modal/snapshot.pyi +0 -0
  149. {modal-0.73.42 → modal-0.73.43}/modal/stream_type.py +0 -0
  150. {modal-0.73.42 → modal-0.73.43}/modal/token_flow.py +0 -0
  151. {modal-0.73.42 → modal-0.73.43}/modal/token_flow.pyi +0 -0
  152. {modal-0.73.42 → modal-0.73.43}/modal/volume.py +0 -0
  153. {modal-0.73.42 → modal-0.73.43}/modal/volume.pyi +0 -0
  154. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/dependency_links.txt +0 -0
  155. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/entry_points.txt +0 -0
  156. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/requires.txt +0 -0
  157. {modal-0.73.42 → modal-0.73.43}/modal.egg-info/top_level.txt +0 -0
  158. {modal-0.73.42 → modal-0.73.43}/modal_docs/__init__.py +0 -0
  159. {modal-0.73.42 → modal-0.73.43}/modal_docs/gen_cli_docs.py +0 -0
  160. {modal-0.73.42 → modal-0.73.43}/modal_docs/gen_reference_docs.py +0 -0
  161. {modal-0.73.42 → modal-0.73.43}/modal_docs/mdmd/__init__.py +0 -0
  162. {modal-0.73.42 → modal-0.73.43}/modal_docs/mdmd/mdmd.py +0 -0
  163. {modal-0.73.42 → modal-0.73.43}/modal_docs/mdmd/signatures.py +0 -0
  164. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/__init__.py +0 -0
  165. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/images/__init__.py +0 -0
  166. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/images/base_images.py +0 -0
  167. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/mounts/__init__.py +0 -0
  168. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/mounts/modal_client_package.py +0 -0
  169. {modal-0.73.42 → modal-0.73.43}/modal_global_objects/mounts/python_standalone.py +0 -0
  170. {modal-0.73.42 → modal-0.73.43}/modal_proto/__init__.py +0 -0
  171. {modal-0.73.42 → modal-0.73.43}/modal_proto/api_grpc.py +0 -0
  172. {modal-0.73.42 → modal-0.73.43}/modal_proto/api_pb2_grpc.py +0 -0
  173. {modal-0.73.42 → modal-0.73.43}/modal_proto/api_pb2_grpc.pyi +0 -0
  174. {modal-0.73.42 → modal-0.73.43}/modal_proto/modal_api_grpc.py +0 -0
  175. {modal-0.73.42 → modal-0.73.43}/modal_proto/modal_options_grpc.py +0 -0
  176. {modal-0.73.42 → modal-0.73.43}/modal_proto/options.proto +0 -0
  177. {modal-0.73.42 → modal-0.73.43}/modal_proto/options_grpc.py +0 -0
  178. {modal-0.73.42 → modal-0.73.43}/modal_proto/options_pb2.py +0 -0
  179. {modal-0.73.42 → modal-0.73.43}/modal_proto/options_pb2.pyi +0 -0
  180. {modal-0.73.42 → modal-0.73.43}/modal_proto/options_pb2_grpc.py +0 -0
  181. {modal-0.73.42 → modal-0.73.43}/modal_proto/options_pb2_grpc.pyi +0 -0
  182. {modal-0.73.42 → modal-0.73.43}/modal_proto/py.typed +0 -0
  183. {modal-0.73.42 → modal-0.73.43}/modal_version/__init__.py +0 -0
  184. {modal-0.73.42 → modal-0.73.43}/modal_version/__main__.py +0 -0
  185. {modal-0.73.42 → modal-0.73.43}/pyproject.toml +0 -0
  186. {modal-0.73.42 → modal-0.73.43}/setup.cfg +0 -0
  187. {modal-0.73.42 → modal-0.73.43}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.73.42
3
+ Version: 0.73.43
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -0,0 +1,11 @@
1
+ # Copyright Modal Labs 2022
2
+ import modal_proto.api_pb2
3
+
4
+
5
+ def display_location(cloud_provider: "modal_proto.api_pb2.CloudProvider.V") -> str:
6
+ if cloud_provider == modal_proto.api_pb2.CLOUD_PROVIDER_GCP:
7
+ return "GCP (us-east1)"
8
+ elif cloud_provider == modal_proto.api_pb2.CLOUD_PROVIDER_AWS:
9
+ return "AWS (us-east-1)"
10
+ else:
11
+ return ""
@@ -13,6 +13,7 @@ from rich.table import Table
13
13
  from typer import Argument, Typer
14
14
 
15
15
  import modal
16
+ from modal._location import display_location
16
17
  from modal._output import OutputManager, ProgressHandler
17
18
  from modal._utils.async_utils import synchronizer
18
19
  from modal._utils.grpc_utils import retry_transient_errors
@@ -36,12 +37,13 @@ async def list_(env: Optional[str] = ENV_OPTION, json: Optional[bool] = False):
36
37
  client.stub.SharedVolumeList, api_pb2.SharedVolumeListRequest(environment_name=env)
37
38
  )
38
39
  env_part = f" in environment '{env}'" if env else ""
39
- column_names = ["Name", "Created at"]
40
+ column_names = ["Name", "Location", "Created at"]
40
41
  rows = []
41
42
  for item in response.items:
42
43
  rows.append(
43
44
  [
44
45
  item.label,
46
+ display_location(item.cloud_provider),
45
47
  timestamp_to_local(item.created_at, json),
46
48
  ]
47
49
  )
@@ -27,7 +27,7 @@ class _Client:
27
27
  _snapshotted: bool
28
28
 
29
29
  def __init__(
30
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.42"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.43"
31
31
  ): ...
32
32
  def is_closed(self) -> bool: ...
33
33
  @property
@@ -85,7 +85,7 @@ class Client:
85
85
  _snapshotted: bool
86
86
 
87
87
  def __init__(
88
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.42"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.43"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.73.42
3
+ Version: 0.73.43
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -10,6 +10,7 @@ modal/_clustered_functions.pyi
10
10
  modal/_container_entrypoint.py
11
11
  modal/_functions.py
12
12
  modal/_ipython.py
13
+ modal/_location.py
13
14
  modal/_object.py
14
15
  modal/_output.py
15
16
  modal/_partial_function.py
@@ -86,8 +86,12 @@ enum ClientType {
86
86
  }
87
87
 
88
88
  enum CloudProvider {
89
- // No longer used by clients, but server needs it to parse old protos
90
89
  CLOUD_PROVIDER_UNSPECIFIED = 0;
90
+ CLOUD_PROVIDER_AWS = 1;
91
+ CLOUD_PROVIDER_GCP = 2;
92
+ CLOUD_PROVIDER_AUTO = 3;
93
+ CLOUD_PROVIDER_OCI = 4;
94
+ reserved 5, 6, 7, 8; // now unused internal experimental values
91
95
  }
92
96
 
93
97
  enum DNSRecordType {
@@ -1181,7 +1185,7 @@ message Function {
1181
1185
 
1182
1186
  uint32 task_idle_timeout_secs = 25; // To be replaced by autoscaler_settings.scaledown_period
1183
1187
 
1184
- optional CloudProvider cloud_provider = 26; // Deprecated
1188
+ optional CloudProvider cloud_provider = 26; // Deprecated at some point
1185
1189
 
1186
1190
  uint32 warm_pool_size = 27; // To be replaced by autoscaler_settings.min_containers
1187
1191
 
@@ -2231,7 +2235,7 @@ message Sandbox {
2231
2235
  repeated string secret_ids = 4;
2232
2236
 
2233
2237
  Resources resources = 5;
2234
- CloudProvider cloud_provider = 6; // Deprecated
2238
+ CloudProvider cloud_provider = 6; // Deprecated at some point
2235
2239
 
2236
2240
  uint32 timeout_secs = 7;
2237
2241
 
@@ -2553,7 +2557,7 @@ message SharedVolumeListItem {
2553
2557
  string label = 1; // app name of object entity app
2554
2558
  string shared_volume_id = 2;
2555
2559
  double created_at = 3;
2556
- reserved 4;
2560
+ CloudProvider cloud_provider = 4;
2557
2561
  }
2558
2562
 
2559
2563
  message SharedVolumeListRequest {
@@ -2568,6 +2572,7 @@ message SharedVolumeListResponse {
2568
2572
  message SharedVolumeMount {
2569
2573
  string mount_path = 1;
2570
2574
  string shared_volume_id = 2;
2575
+ CloudProvider cloud_provider = 3;
2571
2576
  bool allow_cross_region = 4;
2572
2577
  }
2573
2578