modal 0.72.53__py3-none-any.whl → 0.72.54__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.54"
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.54"
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): ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.72.53
3
+ Version: 0.72.54
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=kEqEWdtZwjfNMNA9zPBOLtv041Zrh4TPVudVKaiZZ44,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
@@ -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=jozeGlPTJl7w_fl8Jhxh2ZZLe4stI4DCmch7XpWFOP4,149
173
+ modal-0.72.54.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
174
+ modal-0.72.54.dist-info/METADATA,sha256=WKZVZ-7fLzLLXSftsU5OKkID91Qo60sOBdWxIgP0kmw,2329
175
+ modal-0.72.54.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
176
+ modal-0.72.54.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
177
+ modal-0.72.54.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
178
+ modal-0.72.54.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 = 54 # git: 45c6c6b