modal 0.74.60__py3-none-any.whl → 0.74.62__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/client.pyi +2 -2
- modal/dict.py +13 -2
- modal/functions.pyi +6 -6
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/METADATA +1 -1
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/RECORD +13 -13
- modal_proto/api.proto +2 -0
- modal_proto/api_pb2.py +614 -614
- modal_proto/api_pb2.pyi +9 -1
- modal_version/_version_generated.py +1 -1
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/WHEEL +0 -0
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/entry_points.txt +0 -0
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/licenses/LICENSE +0 -0
- {modal-0.74.60.dist-info → modal-0.74.62.dist-info}/top_level.txt +0 -0
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.74.
|
30
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.62"
|
31
31
|
): ...
|
32
32
|
def is_closed(self) -> bool: ...
|
33
33
|
@property
|
@@ -86,7 +86,7 @@ class Client:
|
|
86
86
|
_snapshotted: bool
|
87
87
|
|
88
88
|
def __init__(
|
89
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.
|
89
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.62"
|
90
90
|
): ...
|
91
91
|
def is_closed(self) -> bool: ...
|
92
92
|
@property
|
modal/dict.py
CHANGED
@@ -73,7 +73,7 @@ class _Dict(_Object, type_prefix="di"):
|
|
73
73
|
@asynccontextmanager
|
74
74
|
async def ephemeral(
|
75
75
|
cls: type["_Dict"],
|
76
|
-
data: Optional[dict] = None,
|
76
|
+
data: Optional[dict] = None, # DEPRECATED
|
77
77
|
client: Optional[_Client] = None,
|
78
78
|
environment_name: Optional[str] = None,
|
79
79
|
_heartbeat_sleep: float = EPHEMERAL_OBJECT_HEARTBEAT_SLEEP,
|
@@ -95,6 +95,11 @@ class _Dict(_Object, type_prefix="di"):
|
|
95
95
|
"""
|
96
96
|
if client is None:
|
97
97
|
client = await _Client.from_env()
|
98
|
+
if data:
|
99
|
+
deprecation_warning(
|
100
|
+
(2025, 5, 6),
|
101
|
+
"Passing data to `modal.Dict.ephemeral` is deprecated and will stop working in a future release.",
|
102
|
+
)
|
98
103
|
serialized = _serialize_dict(data if data is not None else {})
|
99
104
|
request = api_pb2.DictGetOrCreateRequest(
|
100
105
|
object_creation_type=api_pb2.OBJECT_CREATION_TYPE_EPHEMERAL,
|
@@ -111,7 +116,7 @@ class _Dict(_Object, type_prefix="di"):
|
|
111
116
|
@renamed_parameter((2024, 12, 18), "label", "name")
|
112
117
|
def from_name(
|
113
118
|
name: str,
|
114
|
-
data: Optional[dict] = None,
|
119
|
+
data: Optional[dict] = None, # DEPRECATED
|
115
120
|
*,
|
116
121
|
namespace=api_pb2.DEPLOYMENT_NAMESPACE_WORKSPACE,
|
117
122
|
environment_name: Optional[str] = None,
|
@@ -130,6 +135,12 @@ class _Dict(_Object, type_prefix="di"):
|
|
130
135
|
"""
|
131
136
|
check_object_name(name, "Dict")
|
132
137
|
|
138
|
+
if data:
|
139
|
+
deprecation_warning(
|
140
|
+
(2025, 5, 6),
|
141
|
+
"Passing data to `modal.Dict.from_name` is deprecated and will stop working in a future release.",
|
142
|
+
)
|
143
|
+
|
133
144
|
async def _load(self: _Dict, resolver: Resolver, existing_object_id: Optional[str]):
|
134
145
|
serialized = _serialize_dict(data if data is not None else {})
|
135
146
|
req = api_pb2.DictGetOrCreateRequest(
|
modal/functions.pyi
CHANGED
@@ -227,11 +227,11 @@ class Function(
|
|
227
227
|
|
228
228
|
_call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
|
229
229
|
|
230
|
-
class __remote_spec(typing_extensions.Protocol[
|
230
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
231
231
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
232
232
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
233
233
|
|
234
|
-
remote: __remote_spec[modal._functions.
|
234
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
235
235
|
|
236
236
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
237
237
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -246,12 +246,12 @@ class Function(
|
|
246
246
|
self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
|
247
247
|
) -> modal._functions.OriginalReturnType: ...
|
248
248
|
|
249
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
249
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
250
250
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
251
251
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
252
252
|
|
253
253
|
_experimental_spawn: ___experimental_spawn_spec[
|
254
|
-
modal._functions.
|
254
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
255
255
|
]
|
256
256
|
|
257
257
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
@@ -260,11 +260,11 @@ class Function(
|
|
260
260
|
|
261
261
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
262
262
|
|
263
|
-
class __spawn_spec(typing_extensions.Protocol[
|
263
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
264
264
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
265
265
|
async def aio(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
266
266
|
|
267
|
-
spawn: __spawn_spec[modal._functions.
|
267
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
268
268
|
|
269
269
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
|
270
270
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=xojuGZv4LaQwZU5ntj7WbmMjeNuB9Gll8Mzqe2LyiEs,51323
|
|
22
22
|
modal/app.pyi,sha256=zNwR1_2LpmQc9AhemuAeVdk90XNYDw9keOkXAwAATeA,28732
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
24
|
modal/client.py,sha256=o-aQThHpvDHUzg_kUafyhWzACViUBhY2WLZ2EitnSHA,16787
|
25
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=cbDMHReNe9h_63WwrsH0Fy6JQKulelNCftigIgwDJEs,8385
|
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=aHoMEWMZUN7bOezs3tRPxzS1FP3gTxZBORVjbPmtxyg,35338
|
@@ -30,7 +30,7 @@ modal/cls.pyi,sha256=klQkXHXhl5gTjRo_XDV6PGecnJeFOudSMXid_kanumI,12090
|
|
30
30
|
modal/config.py,sha256=OOMEJ5LHNFbHRW5wUpuhl0TH6EPW8D1XV9I3OJXrZrk,12668
|
31
31
|
modal/container_process.py,sha256=vvyK3DVPUMsuqvkKdUiQ49cDLF9JawGrxpglLk5vfgI,6208
|
32
32
|
modal/container_process.pyi,sha256=cR4aRHTbcVvmxGCc1_k2Ey8JllJIAQYq9PBKx0_1TuI,2916
|
33
|
-
modal/dict.py,sha256=
|
33
|
+
modal/dict.py,sha256=rYOTNtUIOoIVibC1KGC6-fnsXD88ij8o0xNKFpR9BVs,14134
|
34
34
|
modal/dict.pyi,sha256=ou2rospKvSNl0PffrsSABruTjspUlqwbkjJ22fzg-yE,8021
|
35
35
|
modal/environments.py,sha256=t_TdUyORfIjlEAOS7I4My1qHi0cVsjPxwKloLmAAZMc,6935
|
36
36
|
modal/environments.pyi,sha256=4HbI0kywveaUVI7HqDtZ4HphCTGXYi_wie2hz87up5A,3425
|
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
39
39
|
modal/file_io.pyi,sha256=oB7x-rKq7bmm8cA7Z7W9C9yeko7KK9m9i5GidFnkGK4,9569
|
40
40
|
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
41
41
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
42
|
-
modal/functions.pyi,sha256=
|
42
|
+
modal/functions.pyi,sha256=1GV493uk0Q7baSSPK4HtadK-1qSGMwM_OxlmgVvWP00,16742
|
43
43
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
44
44
|
modal/image.py,sha256=ZCghS6l1O7pezXcdMHk6RoJpW3qWszfWGJTW38lNXaU,92797
|
45
45
|
modal/image.pyi,sha256=MDq7tNJevElK78VxFYrZRe_00kz9gPdg98MN5c6fFoE,25644
|
@@ -146,7 +146,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
|
|
146
146
|
modal/requirements/PREVIEW.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
|
147
147
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
148
148
|
modal/requirements/base-images.json,sha256=57vMSqzMbLBxw5tFWSaMiIkkVEps4JfX5PAtXGnkS4U,740
|
149
|
-
modal-0.74.
|
149
|
+
modal-0.74.62.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
150
150
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
151
151
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
152
152
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
@@ -154,10 +154,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
154
154
|
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
155
155
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
156
156
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
157
|
-
modal_proto/api.proto,sha256=
|
157
|
+
modal_proto/api.proto,sha256=XTValFbhXFDcKDWm-iWntPTNQThT-VqfHgLLIl1O0Jk,94339
|
158
158
|
modal_proto/api_grpc.py,sha256=kTSfs9yI_YtxkPuATpSQ1_Nvd7TtjK03H61RupX1bpM,114421
|
159
|
-
modal_proto/api_pb2.py,sha256=
|
160
|
-
modal_proto/api_pb2.pyi,sha256=
|
159
|
+
modal_proto/api_pb2.py,sha256=kXAEYBeGKLz92BK_S7LReL_Wx4thvuNDMnitU_j6qds,332601
|
160
|
+
modal_proto/api_pb2.pyi,sha256=dLzO-XDQwOaaX8yXl8dnxgJkznkEV7-AwQ-gQpD3xf8,452883
|
161
161
|
modal_proto/api_pb2_grpc.py,sha256=-KPQMzXmTYwgF23_tGpODCVK79iOdV1sRsw5mN-byMw,247448
|
162
162
|
modal_proto/api_pb2_grpc.pyi,sha256=ls1qcby7goTrlE6BluSWpo73cW_ajvh3rOe41azMBWM,57929
|
163
163
|
modal_proto/modal_api_grpc.py,sha256=eoJvCFelooz_mlLa1sJ5CEsNuUSIui-4aUgSmiCwKOI,17312
|
@@ -171,9 +171,9 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
171
171
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
172
|
modal_version/__init__.py,sha256=m94xZNWIjH8oUtJk4l9xfovzDJede2o7X-q0MHVECtM,470
|
173
173
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal_version/_version_generated.py,sha256=
|
175
|
-
modal-0.74.
|
176
|
-
modal-0.74.
|
177
|
-
modal-0.74.
|
178
|
-
modal-0.74.
|
179
|
-
modal-0.74.
|
174
|
+
modal_version/_version_generated.py,sha256=XHXqJAOLosyRQo7ott3IiY3kCUw5siP3sK181LABQw8,149
|
175
|
+
modal-0.74.62.dist-info/METADATA,sha256=ND8dOtq_rxRLwOjHpKLN5sWFa-q6gCbHIU2BEJWy3tk,2451
|
176
|
+
modal-0.74.62.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
177
|
+
modal-0.74.62.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
178
|
+
modal-0.74.62.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
179
|
+
modal-0.74.62.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
@@ -1112,9 +1112,11 @@ message DictPopResponse {
|
|
1112
1112
|
message DictUpdateRequest {
|
1113
1113
|
string dict_id = 1 [ (modal.options.audit_target_attr) = true ];
|
1114
1114
|
repeated DictEntry updates = 2;
|
1115
|
+
bool if_not_exists = 3;
|
1115
1116
|
}
|
1116
1117
|
|
1117
1118
|
message DictUpdateResponse {
|
1119
|
+
bool created = 1;
|
1118
1120
|
}
|
1119
1121
|
|
1120
1122
|
message Domain {
|