modal 0.73.61__py3-none-any.whl → 0.73.63__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/_functions.py CHANGED
@@ -34,7 +34,7 @@ from ._utils.async_utils import (
34
34
  synchronizer,
35
35
  warn_if_generator_is_not_consumed,
36
36
  )
37
- from ._utils.deprecation import deprecation_warning, renamed_parameter
37
+ from ._utils.deprecation import deprecation_error, deprecation_warning, renamed_parameter
38
38
  from ._utils.function_utils import (
39
39
  ATTEMPT_TIMEOUT_GRACE_PERIOD,
40
40
  OUTPUTS_TIMEOUT,
@@ -309,13 +309,8 @@ class FunctionStats:
309
309
 
310
310
  def __getattr__(self, name):
311
311
  if name == "num_active_runners":
312
- msg = (
313
- "'FunctionStats.num_active_runners' is deprecated."
314
- " It currently always has a value of 0,"
315
- " but it will be removed in a future release."
316
- )
317
- deprecation_warning((2024, 6, 14), msg)
318
- return 0
312
+ msg = "'FunctionStats.num_active_runners' is no longer available."
313
+ deprecation_error((2024, 6, 14), msg)
319
314
  raise AttributeError(f"'FunctionStats' object has no attribute '{name}'")
320
315
 
321
316
 
@@ -513,16 +508,11 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
513
508
  retries, f"Function '{info.get_tag()}'" if info.raw_f else f"Class '{info.get_tag()}'"
514
509
  )
515
510
 
516
- if webhook_config is not None and retry_policy is not None:
517
- raise InvalidError(
518
- "Web endpoints do not support retries.",
519
- )
520
-
521
- if is_generator and retry_policy is not None:
522
- deprecation_warning(
523
- (2024, 6, 25),
524
- "Retries for generator functions are deprecated and will soon be removed.",
525
- )
511
+ if retry_policy is not None:
512
+ if webhook_config is not None:
513
+ raise InvalidError("Web endpoints do not support retries.")
514
+ if is_generator:
515
+ raise InvalidError("Generator functions do not support retries.")
526
516
 
527
517
  if proxy:
528
518
  # HACK: remove this once we stop using ssh tunnels for this.
modal/cli/profile.py CHANGED
@@ -46,6 +46,8 @@ async def list_(json: Optional[bool] = False):
46
46
  active = profile == _profile
47
47
  if isinstance(resp, AuthError):
48
48
  workspace = "Unknown (authentication failure)"
49
+ elif isinstance(resp, TimeoutError):
50
+ workspace = "Unknown (timed out)"
49
51
  elif isinstance(resp, Exception):
50
52
  # Catch-all for other exceptions, like incorrect server url
51
53
  workspace = "Unknown (profile misconfigured)"
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.73.61"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.63"
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.61"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.63"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
modal/config.py CHANGED
@@ -133,7 +133,7 @@ async def _lookup_workspace(server_url: str, token_id: str, token_secret: str) -
133
133
 
134
134
  credentials = (token_id, token_secret)
135
135
  async with _Client(server_url, api_pb2.CLIENT_TYPE_CLIENT, credentials) as client:
136
- return await client.stub.WorkspaceNameLookup(Empty())
136
+ return await client.stub.WorkspaceNameLookup(Empty(), timeout=3)
137
137
 
138
138
 
139
139
  def config_profiles():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: modal
3
- Version: 0.73.61
3
+ Version: 0.73.63
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -3,7 +3,7 @@ modal/__main__.py,sha256=CgIjP8m1xJjjd4AXc-delmR6LdBCZclw2A_V38CFIio,2870
3
3
  modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
4
4
  modal/_clustered_functions.pyi,sha256=vllkegc99A0jrUOWa8mdlSbdp6uz36TsHhGxysAOpaQ,771
5
5
  modal/_container_entrypoint.py,sha256=arhkIoF8nQNfa4iwYGSoqN3QMDg5M38QNAODXC8TlKc,29301
6
- modal/_functions.py,sha256=krX2JY_Ez_pInUcyjfSlkyG88B9ju0fxZ9uAQd6RkGY,70684
6
+ modal/_functions.py,sha256=bi2mLlmUyJlJiMfk365DouFYcf5MolAoKereHDsz1HI,70408
7
7
  modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
8
8
  modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
9
9
  modal/_object.py,sha256=ItQcsMNkz9Y3kdTsvfNarbW-paJ2qabDyQ7njaqY0XI,11359
@@ -22,12 +22,12 @@ modal/app.py,sha256=o5mHoHtn41nkvskX_ekJkyfG6MXwj5rqerRi_nnPd0w,44725
22
22
  modal/app.pyi,sha256=0MMCgskIL4r3eq8oBcfm2lLyeao2gXjS3iXaIfmaJ-o,25959
23
23
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
24
24
  modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
25
- modal/client.pyi,sha256=1tmiNTBt14hiXWmV0rBishziTKrAXDTBQiizWnbLeTU,7593
25
+ modal/client.pyi,sha256=aLRFIKbwAfKm-mCmHrOc1PBNsRK69ieKu0jPnZqxt4k,7593
26
26
  modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
27
27
  modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
28
28
  modal/cls.py,sha256=wztMTYkhJyW9iUVqx4_Gga4bJJpUiPgGsS6iacUqy-A,30001
29
29
  modal/cls.pyi,sha256=4Ms1i4Wty1qe49Dh_wsGhJDCiJz7t-XGqXLcpzwhUqs,9084
30
- modal/config.py,sha256=XT1W4Y9PVkbYMAXjJRshvQEPDhZmnfW_ZRMwl8XKoqA,11149
30
+ modal/config.py,sha256=E1bCdwNziBorqXal6Cble7gfLNzGqSuEgprRJwzYqg4,11160
31
31
  modal/container_process.py,sha256=WTqLn01dJPVkPpwR_0w_JH96ceN5mV4TGtiu1ZR2RRA,6108
32
32
  modal/container_process.pyi,sha256=Hf0J5JyDdCCXBJSKx6gvkPOo0XrztCm78xzxamtzUjQ,2828
33
33
  modal/dict.py,sha256=vc5lQVqzeDUCb4fRjnOlqYK2GmBb0fIhZmvB0xIBG0U,12921
@@ -126,7 +126,7 @@ modal/cli/environment.py,sha256=Ayddkiq9jdj3XYDJ8ZmUqFpPPH8xajYlbexRkzGtUcg,4334
126
126
  modal/cli/import_refs.py,sha256=kbjWZxSyLc6Bp6UxtB7iJ7qp10DG5j7i4bbbA1bSIXQ,13529
127
127
  modal/cli/launch.py,sha256=0_sBu6bv2xJEPWi-rbGS6Ri9ggnkWQvrGlgpYSUBMyY,3097
128
128
  modal/cli/network_file_system.py,sha256=eq3JnwjbfFNsJodIyANHL06ByYc3BSavzdmu8C96cHA,7948
129
- modal/cli/profile.py,sha256=rLXfjJObfPNjaZvNfHGIKqs7y9bGYyGe-K7V0w-Ni0M,3110
129
+ modal/cli/profile.py,sha256=0TYhgRSGUvQZ5LH9nkl6iZllEvAjDniES264dE57wOM,3201
130
130
  modal/cli/queues.py,sha256=6gTu76dzBtPN5eQVsLrvQpuru5jI9ZCWK5Eh8J8XhaM,4498
131
131
  modal/cli/run.py,sha256=rCd-lB6p-l2vd0OrvXcioVN6wn_1EkCiRQLJRC3Z7J4,22764
132
132
  modal/cli/secret.py,sha256=iDsaFUJBq3333ZBVzKPcqyey68w0j82PNddGhRgP2pA,4206
@@ -168,10 +168,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
168
168
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
169
  modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
170
170
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
171
- modal_version/_version_generated.py,sha256=m-kmH3hR9GQw2dfTtDW0jIJKJ_BOmscevyKDx0WGtwU,149
172
- modal-0.73.61.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
173
- modal-0.73.61.dist-info/METADATA,sha256=JLspZljtzlcxRU_kj4sM0MccAa6A9Bvpn_9opUlHwlo,2452
174
- modal-0.73.61.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
175
- modal-0.73.61.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
176
- modal-0.73.61.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
177
- modal-0.73.61.dist-info/RECORD,,
171
+ modal_version/_version_generated.py,sha256=jQ9PJo_4JIT_bs_koM7ymIhIi678L2HQ39Gqiz0Muo0,149
172
+ modal-0.73.63.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
173
+ modal-0.73.63.dist-info/METADATA,sha256=KSUYJRpuFOSlYDCeb1LrdzV7xTWWLCSn2_wn1z4lWl4,2452
174
+ modal-0.73.63.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
175
+ modal-0.73.63.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
176
+ modal-0.73.63.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
177
+ modal-0.73.63.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 = 61 # git: 48df650
4
+ build_number = 63 # git: 67a38ca