modal 0.73.38__py3-none-any.whl → 0.73.40__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 +3 -6
- modal/client.pyi +2 -2
- modal/functions.pyi +1 -1
- modal/image.py +1 -2
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/METADATA +1 -1
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/RECORD +14 -14
- modal_proto/api.proto +0 -3
- modal_proto/api_pb2.py +418 -418
- modal_proto/api_pb2.pyi +2 -7
- modal_version/_version_generated.py +1 -1
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/LICENSE +0 -0
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/WHEEL +0 -0
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/entry_points.txt +0 -0
- {modal-0.73.38.dist-info → modal-0.73.40.dist-info}/top_level.txt +0 -0
modal/_functions.py
CHANGED
@@ -1258,13 +1258,10 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
1258
1258
|
# TODO (live_method on properties is not great, since it could be blocking the event loop from async contexts)
|
1259
1259
|
@property
|
1260
1260
|
@live_method
|
1261
|
-
async def web_url(self) -> str:
|
1261
|
+
async def web_url(self) -> Optional[str]:
|
1262
1262
|
"""URL of a Function running as a web endpoint."""
|
1263
|
-
|
1264
|
-
|
1265
|
-
f"No web_url can be found for function {self._function_name}. web_url "
|
1266
|
-
"can only be referenced from a running app context"
|
1267
|
-
)
|
1263
|
+
# TODO If we remove the @live_method above, we may want to provide better feedback when the underlying
|
1264
|
+
# attribute is None because the object is not hydrated, rather than because it's not a web endpoint.
|
1268
1265
|
return self._web_url
|
1269
1266
|
|
1270
1267
|
@property
|
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.40"
|
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.40"
|
89
89
|
): ...
|
90
90
|
def is_closed(self) -> bool: ...
|
91
91
|
@property
|
modal/functions.pyi
CHANGED
@@ -160,7 +160,7 @@ class Function(
|
|
160
160
|
def _get_metadata(self): ...
|
161
161
|
def _check_no_web_url(self, fn_name: str): ...
|
162
162
|
@property
|
163
|
-
def web_url(self) -> str: ...
|
163
|
+
def web_url(self) -> typing.Optional[str]: ...
|
164
164
|
@property
|
165
165
|
def is_generator(self) -> bool: ...
|
166
166
|
@property
|
modal/image.py
CHANGED
@@ -601,9 +601,8 @@ class _Image(_Object, type_prefix="im"):
|
|
601
601
|
dockerfile_commands=dockerfile.commands,
|
602
602
|
context_files=context_file_pb2s,
|
603
603
|
secret_ids=[secret.object_id for secret in secrets],
|
604
|
-
gpu=gpu_config.count > 0, # Note: as of 2023-01-27, server still uses this
|
605
604
|
context_mount_id=(context_mount.object_id if context_mount else ""),
|
606
|
-
gpu_config=gpu_config,
|
605
|
+
gpu_config=gpu_config,
|
607
606
|
image_registry_config=image_registry_config.get_proto(),
|
608
607
|
runtime=config.get("function_runtime"),
|
609
608
|
runtime_debug=config.get("function_runtime_debug"),
|
@@ -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=YtfJ852XUDtAWBD-yVs99zy933-VBEKQyIngEj36Qcw,29286
|
6
|
-
modal/_functions.py,sha256=
|
6
|
+
modal/_functions.py,sha256=I3FEytD7fwyb6-TXlCRQAfXioNhW4HsmeZrG-TmYCVs,72423
|
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=rCOPD51gVyow8muyaqMuV65qfTnAZKf_w1OCZdSF_6o,44636
|
|
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=D9OYI7GeRLI4oQmUBeUXU81lFvcs1sJZxGMFIUqyCxY,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=nJhJr-YuttOmdNWxtMHcBV-q6iQmY5qXkEy9yO43clY,31130
|
@@ -41,9 +41,9 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
41
41
|
modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
42
42
|
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
43
43
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
44
|
-
modal/functions.pyi,sha256=
|
44
|
+
modal/functions.pyi,sha256=R_I4Foho4htNCFhYc0YKhWoS_jLqZNOrNfTrAA-Clew,14395
|
45
45
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
46
|
-
modal/image.py,sha256=
|
46
|
+
modal/image.py,sha256=EtYt7_Rjgi71gt_SutqF8KSjnzWgP5P1Z7XsV-eIoFw,91470
|
47
47
|
modal/image.pyi,sha256=Oc2ndYHSdQTcRpZKHSfTdj-m_2oQAsnc2EWTthbNn-s,26380
|
48
48
|
modal/io_streams.py,sha256=QkQiizKRzd5bnbKQsap31LJgBYlAnj4-XkV_50xPYX0,15079
|
49
49
|
modal/io_streams.pyi,sha256=bJ7ZLmSmJ0nKoa6r4FJpbqvzdUVa0lEe0Fa-MMpMezU,5071
|
@@ -155,10 +155,10 @@ modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0
|
|
155
155
|
modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
|
156
156
|
modal_global_objects/mounts/python_standalone.py,sha256=EsC-hdPtiAPOwgW9emHN6muNUkrJwR8dYxroVArxHxM,1841
|
157
157
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
158
|
-
modal_proto/api.proto,sha256=
|
158
|
+
modal_proto/api.proto,sha256=hM-iLwpYycp-wGyvoAieAEM_km42yI0jZTigPQLGPC0,86712
|
159
159
|
modal_proto/api_grpc.py,sha256=FYGqDegM_w_qxdtlxum8k31mDibKoMvmNxv_p9cKdKs,109056
|
160
|
-
modal_proto/api_pb2.py,sha256=
|
161
|
-
modal_proto/api_pb2.pyi,sha256=
|
160
|
+
modal_proto/api_pb2.py,sha256=YD0C8wYdRshzPQtZoRmXrgzFs2uIhv0zSgCVIzGOfgc,312360
|
161
|
+
modal_proto/api_pb2.pyi,sha256=8POAJ_v8H42TOKK0hpQN-b4dsK0S6fUiyHOrsusZdnI,420740
|
162
162
|
modal_proto/api_pb2_grpc.py,sha256=DNp0Et5i_Ey4dKx_1o1LRtYhyWYyT0NzTcAY4EcHn-c,235765
|
163
163
|
modal_proto/api_pb2_grpc.pyi,sha256=RI6tWC3L8EIN4-izFSEGPPJl5Ta0lXPNuHUJaWAr35s,54892
|
164
164
|
modal_proto/modal_api_grpc.py,sha256=UG8WJU81afrWPwItWB4Ag64E9EpyREMpBbAVGVEYJiM,14550
|
@@ -172,10 +172,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
172
172
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
173
173
|
modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
|
174
174
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
175
|
-
modal_version/_version_generated.py,sha256=
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
178
|
-
modal-0.73.
|
179
|
-
modal-0.73.
|
180
|
-
modal-0.73.
|
181
|
-
modal-0.73.
|
175
|
+
modal_version/_version_generated.py,sha256=LEQwz05PMZzanZ4Ug8t30B1cUWubgAXrts3RtWPJ04U,149
|
176
|
+
modal-0.73.40.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
177
|
+
modal-0.73.40.dist-info/METADATA,sha256=-hjATUKlBe_5UVUKH6LE3lCevuNCjm9WT5KEptdLQEg,2330
|
178
|
+
modal-0.73.40.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
179
|
+
modal-0.73.40.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
180
|
+
modal-0.73.40.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
181
|
+
modal-0.73.40.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1748,9 +1748,6 @@ message Image {
|
|
1748
1748
|
repeated string secret_ids = 12;
|
1749
1749
|
// Part of Image definition, because presence of GPU drivers
|
1750
1750
|
// affects the image that's built.
|
1751
|
-
// Note: field 13 is getting replaced field 16. The client now sends both fields,
|
1752
|
-
// but the server still only reads field 13.
|
1753
|
-
bool gpu = 13;
|
1754
1751
|
string context_mount_id = 15;
|
1755
1752
|
GPUConfig gpu_config = 16;
|
1756
1753
|
ImageRegistryConfig image_registry_config = 17;
|