modal 1.0.6.dev47__py3-none-any.whl → 1.0.6.dev50__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 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
- return function.remote(*args, **click_kwargs)
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
- return method.remote(*args, **fun_kwargs)
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.dev47",
36
+ version: str = "1.0.6.dev50",
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.dev47",
166
+ version: str = "1.0.6.dev50",
167
167
  ):
168
168
  """mdmd:hidden
169
169
  The Modal client object is not intended to be instantiated directly by users.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modal
3
- Version: 1.0.6.dev47
3
+ Version: 1.0.6.dev50
4
4
  Summary: Python client library for Modal
5
5
  Author-email: Modal Labs <support@modal.com>
6
6
  License: Apache-2.0
@@ -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=RlfKrK_5zOOXiO54rGorLL8e2LJSzg1RDnPuZXCK7zc,15270
25
+ modal/client.pyi,sha256=CSXv8f_xO-nkEZ7u6VyimMmdBlQZ2UBEFCeGpIKvCpg,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=nicjV2Ei-UxH9bcilUPeqlv1b15TSHAermaoaDJVBxc,24678
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.dev47.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
154
+ modal-1.0.6.dev50.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
@@ -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=rxyuPWizRugJp7reK3icdrOgFJhBfBNqh9y0BUSkr30,121
177
+ modal_version/__init__.py,sha256=K2p8aB57qu9ubXiiRDFcIGXUpyyqBFqs1eiMIu3nRhU,121
178
178
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
179
- modal-1.0.6.dev47.dist-info/METADATA,sha256=YRcKtQQyLdj4haZqH5DSQmiDKSN3Njyd0Qio4-w4x10,2462
180
- modal-1.0.6.dev47.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
181
- modal-1.0.6.dev47.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
182
- modal-1.0.6.dev47.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
183
- modal-1.0.6.dev47.dist-info/RECORD,,
179
+ modal-1.0.6.dev50.dist-info/METADATA,sha256=uQyufZ5YxBlR7YhSg_hUGdpcUpjwTinnw4ITBYt0Enc,2462
180
+ modal-1.0.6.dev50.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
181
+ modal-1.0.6.dev50.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
182
+ modal-1.0.6.dev50.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
183
+ modal-1.0.6.dev50.dist-info/RECORD,,
modal_version/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2025
2
2
  """Supplies the current version of the modal client library."""
3
3
 
4
- __version__ = "1.0.6.dev47"
4
+ __version__ = "1.0.6.dev50"