modal 0.72.53__py3-none-any.whl → 0.72.55__py3-none-any.whl

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.
modal/cli/import_refs.py CHANGED
@@ -146,11 +146,11 @@ def list_cli_commands(
146
146
  inspect.getmembers(module, lambda x: isinstance(x, (Function, Cls, LocalEntrypoint))),
147
147
  )
148
148
  for name, entity in module_level_entities:
149
- if isinstance(entity, Cls):
149
+ if isinstance(entity, Cls) and entity._is_local():
150
150
  for method_name in entity._get_method_names():
151
151
  method_ref = MethodReference(entity, method_name)
152
152
  all_runnables.setdefault(method_ref, []).insert(0, f"{name}.{method_name}")
153
- else:
153
+ elif (isinstance(entity, Function) and entity._is_local()) or isinstance(entity, LocalEntrypoint):
154
154
  all_runnables.setdefault(entity, []).insert(0, name)
155
155
 
156
156
  def _is_web_endpoint(runnable: Runnable) -> bool:
modal/client.pyi CHANGED
@@ -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.72.53"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.55"
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.72.53"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.72.55"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
modal/cls.py CHANGED
@@ -712,6 +712,9 @@ class _Cls(_Object, type_prefix="cs"):
712
712
  return self._method_functions[k]
713
713
  return getattr(self._user_cls, k)
714
714
 
715
+ def _is_local(self) -> bool:
716
+ return self._user_cls is not None
717
+
715
718
 
716
719
  Cls = synchronize_api(_Cls)
717
720
 
modal/cls.pyi CHANGED
@@ -150,6 +150,7 @@ class _Cls(modal._object._Object):
150
150
  ) -> _Cls: ...
151
151
  def __call__(self, *args, **kwargs) -> _Obj: ...
152
152
  def __getattr__(self, k): ...
153
+ def _is_local(self) -> bool: ...
153
154
 
154
155
  class Cls(modal.object.Object):
155
156
  _user_cls: typing.Optional[type]
@@ -222,6 +223,7 @@ class Cls(modal.object.Object):
222
223
 
223
224
  def __call__(self, *args, **kwargs) -> Obj: ...
224
225
  def __getattr__(self, k): ...
226
+ def _is_local(self) -> bool: ...
225
227
 
226
228
  class _NO_DEFAULT:
227
229
  def __repr__(self): ...
modal/sandbox.py CHANGED
@@ -581,7 +581,7 @@ class _Sandbox(_Object, type_prefix="sb"):
581
581
  )
582
582
  sandbox = await _Sandbox.from_id(restore_resp.sandbox_id, client)
583
583
 
584
- task_id_req = api_pb2.SandboxGetTaskIdRequest(sandbox_id=restore_resp.sandbox_id)
584
+ task_id_req = api_pb2.SandboxGetTaskIdRequest(sandbox_id=restore_resp.sandbox_id, wait_until_ready=True)
585
585
  resp = await retry_transient_errors(client.stub.SandboxGetTaskId, task_id_req)
586
586
  if resp.task_result.status not in [
587
587
  api_pb2.GenericResult.GENERIC_STATUS_UNSPECIFIED,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.72.53
3
+ Version: 0.72.55
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -20,11 +20,11 @@ modal/app.py,sha256=KNfzLlkI2dJPl9LY8AgW76whZpwIvYKi2E2p9u4F3N4,43659
20
20
  modal/app.pyi,sha256=vnQhENaQBhJO6el-ieOcw3NEeYQ314SFXRDtjij4DM8,25324
21
21
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
22
22
  modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
23
- modal/client.pyi,sha256=A_QeDUrllPGJIOEN-GCPMO13wIz9a_ulx67gssc23p8,7593
23
+ modal/client.pyi,sha256=mkyAthnHrMG3LZQmb_7P4B8QJ4fJm3pSHOv57FqL-h8,7593
24
24
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
25
25
  modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
26
- modal/cls.py,sha256=7Czu5ff8Sezzl4ayHyI9nMgB0el3401_uHvyZU4vbhc,32206
27
- modal/cls.pyi,sha256=LrX2YVbcRqSKioOtXIMT9NShe4gaVYpDKt16SDZHh5s,8966
26
+ modal/cls.py,sha256=OOvGFL0k4njSrApUpwh3y398KHUXlanCbJmWzN021Vk,32282
27
+ modal/cls.pyi,sha256=LIoQrf96E2eZXTsO-o87jf2ppGAnYwQ8nVxsDmx7QHs,9040
28
28
  modal/config.py,sha256=BzhZYUUwOmvVwf6x5kf0ywMC257s648dmuhsnB6g3gk,11041
29
29
  modal/container_process.py,sha256=WTqLn01dJPVkPpwR_0w_JH96ceN5mV4TGtiu1ZR2RRA,6108
30
30
  modal/container_process.pyi,sha256=Hf0J5JyDdCCXBJSKx6gvkPOo0XrztCm78xzxamtzUjQ,2828
@@ -65,7 +65,7 @@ modal/retries.py,sha256=HKR2Q9aNPWkMjQ5nwobqYTuZaSuw0a8lI2zrtY5IW98,5230
65
65
  modal/runner.py,sha256=0SCMgKO8lZ9W1C7le1EcgViKERMXpi_-QBd6PF_MH0Q,24450
66
66
  modal/runner.pyi,sha256=YmP4EOCNjjkwSIPi2Gl6hF_ji_ytkxz9dw3iB9KXaOI,5275
67
67
  modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
68
- modal/sandbox.py,sha256=D5Qs3FkatZ7Gbny22edGA2Rty7scPmKyLV_bmOFJISY,31750
68
+ modal/sandbox.py,sha256=QJTK-IUHe_SOvq-mv337xcVs2zct-I6ngwOqLkYDvoQ,31773
69
69
  modal/sandbox.pyi,sha256=qncEvzK76h_ehrs03vlroQyLThWiMsjKhD0DnCNc6zI,22663
70
70
  modal/schedule.py,sha256=0ZFpKs1bOxeo5n3HZjoL7OE2ktsb-_oGtq-WJEPO4tY,2615
71
71
  modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
@@ -118,7 +118,7 @@ modal/cli/container.py,sha256=FYwEgjf93j4NMorAjGbSV98i1wpebqdAeNU1wfrFp1k,3668
118
118
  modal/cli/dict.py,sha256=HaEcjfll7i3Uj3Fg56aj4407if5UljsYfr6fIq-D2W8,4589
119
119
  modal/cli/entry_point.py,sha256=aaNxFAqZcmtSjwzkYIA_Ba9CkL4cL4_i2gy5VjoXxkM,4228
120
120
  modal/cli/environment.py,sha256=Ayddkiq9jdj3XYDJ8ZmUqFpPPH8xajYlbexRkzGtUcg,4334
121
- modal/cli/import_refs.py,sha256=vp4r28FGnag3hKRbR_haiuCIGmOTthrhcGhAqSwwc7Q,11753
121
+ modal/cli/import_refs.py,sha256=-FVm5nBv8LdEelgKdVEPOoqrdzKzYH48Vvwaq5B9Vyw,11869
122
122
  modal/cli/launch.py,sha256=pzQt2QlcrbIUU0MVzWWPAvMQ6MCyqsHZ0X9JcV-sY04,3242
123
123
  modal/cli/network_file_system.py,sha256=o6VLTgN4xn5XUiNPBfxYec-5uWCgYrDmfFFLM1ZW_eE,8180
124
124
  modal/cli/profile.py,sha256=rLXfjJObfPNjaZvNfHGIKqs7y9bGYyGe-K7V0w-Ni0M,3110
@@ -169,10 +169,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
169
169
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
170
170
  modal_version/__init__.py,sha256=kGya2ZlItX2zB7oHORs-wvP4PG8lg_mtbi1QIK3G6SQ,470
171
171
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
172
- modal_version/_version_generated.py,sha256=aRCMsN7Fud5MwQRUasyuOr9QYibAwWsiqoKRcU7jKSA,149
173
- modal-0.72.53.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
174
- modal-0.72.53.dist-info/METADATA,sha256=EfLQnOIvpLujMdo_rg_k3RQGNkFeR1hIgD6n4WBgU3w,2329
175
- modal-0.72.53.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
176
- modal-0.72.53.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
177
- modal-0.72.53.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
178
- modal-0.72.53.dist-info/RECORD,,
172
+ modal_version/_version_generated.py,sha256=vkG-K0SNNSwqQYGsxm5bi-3t3k0dMAhohaIXPf8hkyM,149
173
+ modal-0.72.55.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
174
+ modal-0.72.55.dist-info/METADATA,sha256=wnRa02BaCAsivaLSLXY3zjHO4-fFS63yZDCqo2xlAyc,2329
175
+ modal-0.72.55.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
176
+ modal-0.72.55.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
177
+ modal-0.72.55.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
178
+ modal-0.72.55.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 53 # git: 159a0f0
4
+ build_number = 55 # git: 0503a38