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 +34 -44
- modal/client.pyi +2 -2
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/METADATA +1 -1
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/RECORD +9 -9
- modal_version/_version_generated.py +1 -1
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/LICENSE +0 -0
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/WHEEL +0 -0
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/entry_points.txt +0 -0
- {modal-0.73.58.dist-info → modal-0.73.60.dist-info}/top_level.txt +0 -0
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
|
-
|
477
|
-
|
478
|
-
|
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
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
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.
|
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.
|
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
|
@@ -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=
|
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=
|
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=
|
172
|
-
modal-0.73.
|
173
|
-
modal-0.73.
|
174
|
-
modal-0.73.
|
175
|
-
modal-0.73.
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|