modal 1.0.6.dev47__py3-none-any.whl → 1.0.6.dev51__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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- modal/cli/run.py +12 -6
- modal/client.pyi +2 -2
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/METADATA +1 -1
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/RECORD +12 -12
- modal_proto/api.proto +1 -0
- modal_proto/api_pb2.py +526 -526
- modal_proto/api_pb2.pyi +7 -1
- modal_version/__init__.py +1 -1
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/WHEEL +0 -0
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/entry_points.txt +0 -0
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/licenses/LICENSE +0 -0
- {modal-1.0.6.dev47.dist-info → modal-1.0.6.dev51.dist-info}/top_level.txt +0 -0
modal/cli/run.py
CHANGED
|
@@ -207,7 +207,7 @@ def _make_click_function(app, signature: CliRunnableSignature, inner: Callable[[
|
|
|
207
207
|
return f
|
|
208
208
|
|
|
209
209
|
|
|
210
|
-
def _get_click_command_for_function(app: App, function: Function):
|
|
210
|
+
def _get_click_command_for_function(app: App, function: Function, ctx: click.Context):
|
|
211
211
|
if function.is_generator:
|
|
212
212
|
raise InvalidError("`modal run` is not supported for generator functions")
|
|
213
213
|
|
|
@@ -216,7 +216,10 @@ def _get_click_command_for_function(app: App, function: Function):
|
|
|
216
216
|
signature: CliRunnableSignature = _get_cli_runnable_signature(sig, type_hints)
|
|
217
217
|
|
|
218
218
|
def _inner(args, click_kwargs):
|
|
219
|
-
|
|
219
|
+
if ctx.obj["detach"]:
|
|
220
|
+
return function.spawn(*args, **click_kwargs).get()
|
|
221
|
+
else:
|
|
222
|
+
return function.remote(*args, **click_kwargs)
|
|
220
223
|
|
|
221
224
|
f = _make_click_function(app, signature, _inner)
|
|
222
225
|
|
|
@@ -230,7 +233,7 @@ def _get_click_command_for_function(app: App, function: Function):
|
|
|
230
233
|
return click.command(with_click_options)
|
|
231
234
|
|
|
232
235
|
|
|
233
|
-
def _get_click_command_for_cls(app: App, method_ref: MethodReference):
|
|
236
|
+
def _get_click_command_for_cls(app: App, method_ref: MethodReference, ctx: click.Context):
|
|
234
237
|
parameters: dict[str, ParameterMetadata]
|
|
235
238
|
cls = method_ref.cls
|
|
236
239
|
method_name = method_ref.method_name
|
|
@@ -271,7 +274,10 @@ def _get_click_command_for_cls(app: App, method_ref: MethodReference):
|
|
|
271
274
|
|
|
272
275
|
instance = cls(**cls_kwargs)
|
|
273
276
|
method: Function = getattr(instance, method_name)
|
|
274
|
-
|
|
277
|
+
if ctx.obj["detach"]:
|
|
278
|
+
return method.spawn(*args, **fun_kwargs).get()
|
|
279
|
+
else:
|
|
280
|
+
return method.remote(*args, **fun_kwargs)
|
|
275
281
|
|
|
276
282
|
f = _make_click_function(app, fun_signature, _inner)
|
|
277
283
|
with_click_options = _add_click_options(f, parameters)
|
|
@@ -376,9 +382,9 @@ class RunGroup(click.Group):
|
|
|
376
382
|
if isinstance(runnable, LocalEntrypoint):
|
|
377
383
|
click_command = _get_click_command_for_local_entrypoint(app, runnable)
|
|
378
384
|
elif isinstance(runnable, Function):
|
|
379
|
-
click_command = _get_click_command_for_function(app, runnable)
|
|
385
|
+
click_command = _get_click_command_for_function(app, runnable, ctx)
|
|
380
386
|
elif isinstance(runnable, MethodReference):
|
|
381
|
-
click_command = _get_click_command_for_cls(app, runnable)
|
|
387
|
+
click_command = _get_click_command_for_cls(app, runnable, ctx)
|
|
382
388
|
else:
|
|
383
389
|
# This should be unreachable...
|
|
384
390
|
raise ValueError(f"{runnable} is neither function, local entrypoint or class/method")
|
modal/client.pyi
CHANGED
|
@@ -33,7 +33,7 @@ class _Client:
|
|
|
33
33
|
server_url: str,
|
|
34
34
|
client_type: int,
|
|
35
35
|
credentials: typing.Optional[tuple[str, str]],
|
|
36
|
-
version: str = "1.0.6.
|
|
36
|
+
version: str = "1.0.6.dev51",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -163,7 +163,7 @@ class Client:
|
|
|
163
163
|
server_url: str,
|
|
164
164
|
client_type: int,
|
|
165
165
|
credentials: typing.Optional[tuple[str, str]],
|
|
166
|
-
version: str = "1.0.6.
|
|
166
|
+
version: str = "1.0.6.dev51",
|
|
167
167
|
):
|
|
168
168
|
"""mdmd:hidden
|
|
169
169
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -22,7 +22,7 @@ modal/app.py,sha256=U0sPiHpphcRHLnoLYh2IrU2RSpRFX9BE5uHb7h42STs,47478
|
|
|
22
22
|
modal/app.pyi,sha256=cXiSTu2bwu6csAUdkOlh7mr9tPvtaS2qWSEhlC1UxAg,43787
|
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
|
24
24
|
modal/client.py,sha256=5QyM7VJjsFbHf6E91ar3A2KY9mx03wdtGlNJvfTKUVs,17087
|
|
25
|
-
modal/client.pyi,sha256=
|
|
25
|
+
modal/client.pyi,sha256=55x6Dnv6_SRFBUy8ypQk222KrtPkt_gwNh3H0xv_ZH8,15270
|
|
26
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
|
27
27
|
modal/cloud_bucket_mount.pyi,sha256=-qSfYAQvIoO_l2wsCCGTG5ZUwQieNKXdAO00yP1-LYU,7394
|
|
28
28
|
modal/cls.py,sha256=B5EtzpBXemH718YvgXaYjuTKvairvqfXJ7IwLZ_6vVA,40034
|
|
@@ -131,7 +131,7 @@ modal/cli/launch.py,sha256=0_sBu6bv2xJEPWi-rbGS6Ri9ggnkWQvrGlgpYSUBMyY,3097
|
|
|
131
131
|
modal/cli/network_file_system.py,sha256=1_BF95WPLHh7x37lr0JBx5nS8NsKXCDZKt0L2F5fHgo,8104
|
|
132
132
|
modal/cli/profile.py,sha256=0TYhgRSGUvQZ5LH9nkl6iZllEvAjDniES264dE57wOM,3201
|
|
133
133
|
modal/cli/queues.py,sha256=1OzC9HdCkbNz6twF3US4FZmIhuVRQ01GOfBY42ux61A,4533
|
|
134
|
-
modal/cli/run.py,sha256=
|
|
134
|
+
modal/cli/run.py,sha256=96m6fpJKbjtva4xzJut0pxS36Z5WCMq0umpAry96im0,24946
|
|
135
135
|
modal/cli/secret.py,sha256=2bngl3Gb6THXkQ2eWZIN9pOHeOFJqiSNo_waUCVYgns,6611
|
|
136
136
|
modal/cli/token.py,sha256=NAmQzKBfEHkcldWKeFxAVIqQBoo1RTp7_A4yc7-8qM0,1911
|
|
137
137
|
modal/cli/utils.py,sha256=p3ru9mlrvyCg6WWUcTWIJfZtYN3-MsXio_vy3dJ_8WU,3302
|
|
@@ -151,7 +151,7 @@ modal/requirements/2025.06.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqr
|
|
|
151
151
|
modal/requirements/PREVIEW.txt,sha256=KxDaVTOwatHvboDo4lorlgJ7-n-MfAwbPwxJ0zcJqrs,312
|
|
152
152
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
|
153
153
|
modal/requirements/base-images.json,sha256=JYSDAgHTl-WrV_TZW5icY-IJEnbe2eQ4CZ_KN6EOZKU,1304
|
|
154
|
-
modal-1.0.6.
|
|
154
|
+
modal-1.0.6.dev51.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
|
155
155
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
156
156
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
|
157
157
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
|
@@ -159,10 +159,10 @@ modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,2
|
|
|
159
159
|
modal_docs/mdmd/mdmd.py,sha256=eW5MzrEl7mSclDo4Uv64sQ1-4IyLggldbgUJdBVLDdI,6449
|
|
160
160
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
|
161
161
|
modal_proto/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
|
162
|
-
modal_proto/api.proto,sha256=
|
|
162
|
+
modal_proto/api.proto,sha256=lKYbgeyu0zzBT-WhJfBE7C3fbSddqn-5UnOtOJ6SYRw,99610
|
|
163
163
|
modal_proto/api_grpc.py,sha256=F7Hu-1Yg7p5a2SbKw9yR4AgpyU0ntvgZTaVbIJMR0DE,122366
|
|
164
|
-
modal_proto/api_pb2.py,sha256=
|
|
165
|
-
modal_proto/api_pb2.pyi,sha256=
|
|
164
|
+
modal_proto/api_pb2.py,sha256=MgRY5QKtmpFspfXDIbV02haf85AaajQZb-1XMetwz2I,349756
|
|
165
|
+
modal_proto/api_pb2.pyi,sha256=28oUvJCAp8ehfBPP_Mw-v0Sh8sA__o3ioB8eLLlKJBs,476854
|
|
166
166
|
modal_proto/api_pb2_grpc.py,sha256=pIFrNmCOgRRcIW8A1Ekja9Po6fHcsj54ExDZFzTpYe4,264347
|
|
167
167
|
modal_proto/api_pb2_grpc.pyi,sha256=vtxrQ9xnQG6ZRXjp2uk43Mb7wV7F4qGYuVl5JUBc8jI,61968
|
|
168
168
|
modal_proto/modal_api_grpc.py,sha256=Yl_fGbSIuX2FAEnURkYpKqshs7kbNqtz5HlTJEXkbhE,18487
|
|
@@ -174,10 +174,10 @@ modal_proto/options_pb2.pyi,sha256=l7DBrbLO7q3Ir-XDkWsajm0d0TQqqrfuX54i4BMpdQg,1
|
|
|
174
174
|
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
|
175
175
|
modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0yJSI,247
|
|
176
176
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
177
|
-
modal_version/__init__.py,sha256=
|
|
177
|
+
modal_version/__init__.py,sha256=2v61QuSe8pQj__81WjWlBsFvbT8sURDSbfWlGv0YX8c,121
|
|
178
178
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
|
179
|
-
modal-1.0.6.
|
|
180
|
-
modal-1.0.6.
|
|
181
|
-
modal-1.0.6.
|
|
182
|
-
modal-1.0.6.
|
|
183
|
-
modal-1.0.6.
|
|
179
|
+
modal-1.0.6.dev51.dist-info/METADATA,sha256=mC9aGJCHfAlK5fgKkZXdC8AiZnS4EPJLCNyxfv4FzLU,2462
|
|
180
|
+
modal-1.0.6.dev51.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
|
181
|
+
modal-1.0.6.dev51.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
|
182
|
+
modal-1.0.6.dev51.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
|
183
|
+
modal-1.0.6.dev51.dist-info/RECORD,,
|
modal_proto/api.proto
CHANGED
|
@@ -1690,6 +1690,7 @@ message FunctionGetOutputsRequest {
|
|
|
1690
1690
|
double requested_at = 8; // Used for waypoints.
|
|
1691
1691
|
// The jwts the client expects the server to be processing. This is optional and used for sync inputs only.
|
|
1692
1692
|
repeated string input_jwts = 9;
|
|
1693
|
+
optional int32 start_idx = 10; // for async batch requests. this indicates which index to start from.
|
|
1693
1694
|
}
|
|
1694
1695
|
|
|
1695
1696
|
message FunctionGetOutputsResponse {
|