modal 0.73.58__py3-none-any.whl → 0.73.60__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
@@ -473,51 +473,41 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
473
473
 
474
474
  explicit_mounts = mounts
475
475
 
476
- if is_local():
477
- include_source_mode = get_include_source_mode(include_source)
478
- if include_source_mode != IncludeSourceMode.INCLUDE_NOTHING:
479
- entrypoint_mounts = info.get_entrypoint_mount()
480
- else:
481
- entrypoint_mounts = {}
482
-
483
- all_mounts = [
484
- _get_client_mount(),
485
- *explicit_mounts,
486
- *entrypoint_mounts.values(),
487
- ]
488
-
489
- if include_source_mode is IncludeSourceMode.INCLUDE_FIRST_PARTY:
490
- auto_mounts = get_sys_modules_mounts()
491
- # don't need to add entrypoint modules to automounts:
492
- for entrypoint_module in entrypoint_mounts:
493
- auto_mounts.pop(entrypoint_module, None)
494
-
495
- warn_missing_modules = set(auto_mounts.keys()) - image._added_python_source_set
496
-
497
- if warn_missing_modules:
498
- python_stringified_modules = ", ".join(f'"{mod}"' for mod in sorted(warn_missing_modules))
499
- deprecation_warning(
500
- (2025, 2, 3),
501
- (
502
- 'Modal will stop implicitly adding local Python modules to the Image ("automounting") in a '
503
- "future update. The following modules need to be explicitly added for future "
504
- "compatibility:\n"
505
- )
506
- + "\n".join(sorted([f"* {m}" for m in warn_missing_modules]))
507
- + "\n\n"
508
- + (
509
- "e.g.:\n"
510
- f"image_with_source = my_image.add_local_python_source({python_stringified_modules})\n\n"
511
- )
512
- + "For more information, see https://modal.com/docs/guide/modal-1-0-migration",
513
- )
514
- all_mounts += auto_mounts.values()
476
+ include_source_mode = get_include_source_mode(include_source)
477
+ if include_source_mode != IncludeSourceMode.INCLUDE_NOTHING:
478
+ entrypoint_mounts = info.get_entrypoint_mount()
515
479
  else:
516
- # skip any mount introspection/logic inside containers, since the function
517
- # should already be hydrated
518
- # TODO: maybe the entire from_args loader should be exited early if not local?
519
- # since it will be hydrated
520
- all_mounts = []
480
+ entrypoint_mounts = {}
481
+
482
+ all_mounts = [
483
+ _get_client_mount(),
484
+ *explicit_mounts,
485
+ *entrypoint_mounts.values(),
486
+ ]
487
+
488
+ if include_source_mode is IncludeSourceMode.INCLUDE_FIRST_PARTY and is_local():
489
+ auto_mounts = get_sys_modules_mounts()
490
+ # don't need to add entrypoint modules to automounts:
491
+ for entrypoint_module in entrypoint_mounts:
492
+ auto_mounts.pop(entrypoint_module, None)
493
+
494
+ warn_missing_modules = set(auto_mounts.keys()) - image._added_python_source_set
495
+
496
+ if warn_missing_modules:
497
+ python_stringified_modules = ", ".join(f'"{mod}"' for mod in sorted(warn_missing_modules))
498
+ deprecation_warning(
499
+ (2025, 2, 3),
500
+ (
501
+ 'Modal will stop implicitly adding local Python modules to the Image ("automounting") in a '
502
+ "future update. The following modules need to be explicitly added for future "
503
+ "compatibility:\n"
504
+ )
505
+ + "\n".join(sorted([f"* {m}" for m in warn_missing_modules]))
506
+ + "\n\n"
507
+ + (f"e.g.:\nimage_with_source = my_image.add_local_python_source({python_stringified_modules})\n\n")
508
+ + "For more information, see https://modal.com/docs/guide/modal-1-0-migration",
509
+ )
510
+ all_mounts += auto_mounts.values()
521
511
 
522
512
  retry_policy = _parse_retries(
523
513
  retries, f"Function '{info.get_tag()}'" if info.raw_f else f"Class '{info.get_tag()}'"
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.58"
30
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.60"
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.58"
88
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.73.60"
89
89
  ): ...
90
90
  def is_closed(self) -> bool: ...
91
91
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: modal
3
- Version: 0.73.58
3
+ Version: 0.73.60
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=EuB4p-9-__OLovkVHOr4qN-RPtUv-ZgwZJ3XRcUnGhg,71203
6
+ modal/_functions.py,sha256=krX2JY_Ez_pInUcyjfSlkyG88B9ju0fxZ9uAQd6RkGY,70684
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,7 +22,7 @@ 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=4rq2-Bl3Ru8gaL6mi3_XMTXkGvCpo83qwO7mBmg64Oo,7593
25
+ modal/client.pyi,sha256=1CPEH12Sd1qSXv-sJSAR_fneIU1tsiBHWO1pPbvFU6o,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
@@ -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=G5__kr5AhSAVmt7cklLxZHp3OMEHBXH7Bvr-Gj7d5rI,149
172
- modal-0.73.58.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
173
- modal-0.73.58.dist-info/METADATA,sha256=hYo8IB8JpTwI-uVd-OvMmxAD2Kfig-qLQmsawgeZcaQ,2452
174
- modal-0.73.58.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
175
- modal-0.73.58.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
176
- modal-0.73.58.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
177
- modal-0.73.58.dist-info/RECORD,,
171
+ modal_version/_version_generated.py,sha256=V-DKFV-EVtvOiXhn-ISihhVMq-5OT53YYBaMrglIF74,149
172
+ modal-0.73.60.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
173
+ modal-0.73.60.dist-info/METADATA,sha256=pq_suW-PHg14I5hXFkFJ1HjSGE8QSTaJ1h9FQ_j2cEU,2452
174
+ modal-0.73.60.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
175
+ modal-0.73.60.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
176
+ modal-0.73.60.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
177
+ modal-0.73.60.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 = 58 # git: 0fe73d2
4
+ build_number = 60 # git: 821ea54