modal 0.66.30__py3-none-any.whl → 0.66.32__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/app.py CHANGED
@@ -1,6 +1,5 @@
1
1
  # Copyright Modal Labs 2022
2
2
  import inspect
3
- import os
4
3
  import typing
5
4
  import warnings
6
5
  from pathlib import PurePosixPath
@@ -42,7 +41,6 @@ from .image import _Image
42
41
  from .mount import _Mount
43
42
  from .network_file_system import _NetworkFileSystem
44
43
  from .object import _get_environment_name, _Object
45
- from .output import _get_output_manager, enable_output
46
44
  from .partial_function import (
47
45
  PartialFunction,
48
46
  _find_partial_methods_for_user_cls,
@@ -141,21 +139,6 @@ def f(x, y):
141
139
  ```
142
140
  """
143
141
 
144
- _enable_output_warning = """\
145
- Note that output will soon not be be printed with `app.run`.
146
-
147
- If you want to print output, use `modal.enable_output()`:
148
-
149
- ```python
150
- with modal.enable_output():
151
- with app.run():
152
- ...
153
- ```
154
-
155
- If you don't want output, and you want to to suppress this warning,
156
- use `app.run(..., show_progress=False)`.
157
- """
158
-
159
142
 
160
143
  class _App:
161
144
  """A Modal App is a group of functions and classes that are deployed together.
@@ -446,32 +429,16 @@ class _App:
446
429
 
447
430
  # See Github discussion here: https://github.com/modal-labs/modal-client/pull/2030#issuecomment-2237266186
448
431
 
449
- auto_enable_output = False
450
-
451
- if "MODAL_DISABLE_APP_RUN_OUTPUT_WARNING" not in os.environ:
452
- if show_progress is None:
453
- if _get_output_manager() is None:
454
- deprecation_warning((2024, 7, 18), _enable_output_warning)
455
- auto_enable_output = True
456
- elif show_progress is True:
457
- if _get_output_manager() is None:
458
- deprecation_warning((2024, 7, 18), _enable_output_warning)
459
- auto_enable_output = True
460
- else:
461
- deprecation_warning((2024, 7, 18), "`show_progress=True` is deprecated and no longer needed.")
462
- elif show_progress is False:
463
- if _get_output_manager() is not None:
464
- deprecation_warning(
465
- (2024, 7, 18), "`show_progress=False` will have no effect since output is enabled."
466
- )
432
+ if show_progress is True:
433
+ deprecation_error(
434
+ (2024, 11, 20),
435
+ "`show_progress=True` is no longer supported. Use `with modal.enable_output():` instead.",
436
+ )
437
+ elif show_progress is False:
438
+ deprecation_warning((2024, 11, 20), "`show_progress=False` is deprecated (and has no effect)")
467
439
 
468
- if auto_enable_output:
469
- with enable_output():
470
- async with _run_app(self, client=client, detach=detach, interactive=interactive):
471
- yield self
472
- else:
473
- async with _run_app(self, client=client, detach=detach, interactive=interactive):
474
- yield self
440
+ async with _run_app(self, client=client, detach=detach, interactive=interactive):
441
+ yield self
475
442
 
476
443
  def _get_default_image(self):
477
444
  if self._image:
modal/client.pyi CHANGED
@@ -31,7 +31,7 @@ class _Client:
31
31
  server_url: str,
32
32
  client_type: int,
33
33
  credentials: typing.Optional[typing.Tuple[str, str]],
34
- version: str = "0.66.30",
34
+ version: str = "0.66.32",
35
35
  ): ...
36
36
  def is_closed(self) -> bool: ...
37
37
  @property
@@ -90,7 +90,7 @@ class Client:
90
90
  server_url: str,
91
91
  client_type: int,
92
92
  credentials: typing.Optional[typing.Tuple[str, str]],
93
- version: str = "0.66.30",
93
+ version: str = "0.66.32",
94
94
  ): ...
95
95
  def is_closed(self) -> bool: ...
96
96
  @property
modal/functions.pyi CHANGED
@@ -450,11 +450,11 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
450
450
 
451
451
  _call_generator_nowait: ___call_generator_nowait_spec
452
452
 
453
- class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
453
+ class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
454
454
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
455
455
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
456
456
 
457
- remote: __remote_spec[P, ReturnType]
457
+ remote: __remote_spec[ReturnType, P]
458
458
 
459
459
  class __remote_gen_spec(typing_extensions.Protocol):
460
460
  def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
@@ -466,17 +466,17 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
466
466
  def _get_obj(self) -> typing.Optional[modal.cls.Obj]: ...
467
467
  def local(self, *args: P.args, **kwargs: P.kwargs) -> OriginalReturnType: ...
468
468
 
469
- class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
469
+ class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
470
470
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
471
471
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
472
472
 
473
- _experimental_spawn: ___experimental_spawn_spec[P, ReturnType]
473
+ _experimental_spawn: ___experimental_spawn_spec[ReturnType, P]
474
474
 
475
- class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
475
+ class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
476
476
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
477
477
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
478
478
 
479
- spawn: __spawn_spec[P, ReturnType]
479
+ spawn: __spawn_spec[ReturnType, P]
480
480
 
481
481
  def get_raw_f(self) -> typing.Callable[..., typing.Any]: ...
482
482
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.66.30
3
+ Version: 0.66.32
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -15,11 +15,11 @@ modal/_traceback.py,sha256=1yNp1Dqq4qRIQp8idDp5PEqjwH4eA8MNI0FhFkCOFgo,4408
15
15
  modal/_tunnel.py,sha256=SVmQxGbV7dcLwyY9eB2PIWmXw8QQmcKg2ppTcRQgZrU,6283
16
16
  modal/_tunnel.pyi,sha256=SA_Q0UGB-D9skFjv6CqlTnCEWU67a2xJxfwVdXtar3Y,1259
17
17
  modal/_watcher.py,sha256=STlDe73R7IS33a_GMW2HnDc3hCDKLdsBfMxRpVh-flA,3581
18
- modal/app.py,sha256=U_uQdjVnBBM8q3GkfMN90C6qW6gS_RwpqekXS-5ESII,45853
18
+ modal/app.py,sha256=QEBK8qYSrux36oi3iS3msBQmcUOS1r4s2nengzzynjQ,44658
19
19
  modal/app.pyi,sha256=wHwBIDqkUb2CQzYVhxZafJ8xZ17TZ-8y-cRyOeZsEm0,25182
20
20
  modal/call_graph.py,sha256=l-Wi6vM8aosCdHTWegcCyGeVJGFdZ_fzlCmbRVPBXFI,2593
21
21
  modal/client.py,sha256=4SpWb4n0nolITR36kADZl1tYLOg6avukmzZU56UQjCo,16385
22
- modal/client.pyi,sha256=8dNf-qkUmqE4iwwN3DzHgQgOH1NsjVUVdDoHtue1MRI,7372
22
+ modal/client.pyi,sha256=d44lS0jWRRb_B9Ge7eLv4Z7P5QbiHFHiZ4xaSVBnaYs,7372
23
23
  modal/cloud_bucket_mount.py,sha256=eWQhCtMIczpokjfTZEgNBCGO_s5ft46PqTSLfKBykq4,5748
24
24
  modal/cloud_bucket_mount.pyi,sha256=tTF7M4FR9bTA30cFkz8qq3ZTlFL19NHU_36e_5GgAGA,1424
25
25
  modal/cls.py,sha256=Ci7EtMrLm1LExfjZ9K2IXyj-SV9Syq8dAbZCEfddcmY,24234
@@ -34,7 +34,7 @@ modal/environments.pyi,sha256=oScvFAclF55-tL9UioLIL_SPBwgy_9O-BBvJ-PLbRgY,3542
34
34
  modal/exception.py,sha256=K-czk1oK8wFvK8snWrytXSByo2WNb9SJAlgBVPGWZBs,6417
35
35
  modal/experimental.py,sha256=jFuNbwrNHos47viMB9q-cHJSvf2RDxDdoEcss9plaZE,2302
36
36
  modal/functions.py,sha256=3iAonXDZ1OXgtUhL1LuTguNxlJi_PtGu-cBibd6Y464,71837
37
- modal/functions.pyi,sha256=cvEhksXdIvBkEj2U3TDeOGUYqKYCaAL8f2ryO_LUkl8,24939
37
+ modal/functions.pyi,sha256=opYVDolZweBVZSfgT4t7OyQj4vBJ82B72IRoS8ZpoYw,24939
38
38
  modal/gpu.py,sha256=r4rL6uH3UJIQthzYvfWauXNyh01WqCPtKZCmmSX1fd4,6881
39
39
  modal/image.py,sha256=E6UVnhOdfkMnajiSpIm0iUEyE04yclkv9Y0BO6Vplrg,76043
40
40
  modal/image.pyi,sha256=ZQpSN7XR16aug50sEcDE597CPssekeP1UZBtq0F1lRk,23847
@@ -159,10 +159,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
159
159
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
160
  modal_version/__init__.py,sha256=UnAuHBPuPSstqgdCOx0SBVdfhpeJnMlY_oxEbu44Izg,470
161
161
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
162
- modal_version/_version_generated.py,sha256=im-FFVUnQj3OsyaPwp-GZ1ylzEKwyPjLnswUY4O1WjA,149
163
- modal-0.66.30.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
164
- modal-0.66.30.dist-info/METADATA,sha256=T45kCxJAkuhDkfwbYWCEWtZSTBNKoc-K5-4ec2v2ncI,2329
165
- modal-0.66.30.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
166
- modal-0.66.30.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
167
- modal-0.66.30.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
168
- modal-0.66.30.dist-info/RECORD,,
162
+ modal_version/_version_generated.py,sha256=Hw4-aXOhz6nfqEbFlljOql26hG7-YdtkMQfC60BBFaI,149
163
+ modal-0.66.32.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
164
+ modal-0.66.32.dist-info/METADATA,sha256=pEr13wfaLrVXyUb05NMwB4DKjHy9JCuBlPTb2gKq5yU,2329
165
+ modal-0.66.32.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
166
+ modal-0.66.32.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
167
+ modal-0.66.32.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
168
+ modal-0.66.32.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  # Copyright Modal Labs 2024
2
2
 
3
3
  # Note: Reset this value to -1 whenever you make a minor `0.X` release of the client.
4
- build_number = 30 # git: 734d82d
4
+ build_number = 32 # git: 0f15fab