modal 0.68.41__py3-none-any.whl → 0.68.43__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 CHANGED
@@ -26,7 +26,7 @@ class _Client:
26
26
  _stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
27
27
 
28
28
  def __init__(
29
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.41"
29
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.43"
30
30
  ): ...
31
31
  def is_closed(self) -> bool: ...
32
32
  @property
@@ -81,7 +81,7 @@ class Client:
81
81
  _stub: typing.Optional[modal_proto.api_grpc.ModalClientStub]
82
82
 
83
83
  def __init__(
84
- self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.41"
84
+ self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.68.43"
85
85
  ): ...
86
86
  def is_closed(self) -> bool: ...
87
87
  @property
modal/functions.pyi CHANGED
@@ -462,11 +462,11 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
462
462
 
463
463
  _call_generator_nowait: ___call_generator_nowait_spec
464
464
 
465
- class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
465
+ class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
466
466
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
467
467
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
468
468
 
469
- remote: __remote_spec[ReturnType, P]
469
+ remote: __remote_spec[P, ReturnType]
470
470
 
471
471
  class __remote_gen_spec(typing_extensions.Protocol):
472
472
  def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
@@ -479,17 +479,17 @@ class Function(typing.Generic[P, ReturnType, OriginalReturnType], modal.object.O
479
479
  def _get_obj(self) -> typing.Optional[modal.cls.Obj]: ...
480
480
  def local(self, *args: P.args, **kwargs: P.kwargs) -> OriginalReturnType: ...
481
481
 
482
- class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
482
+ class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
483
483
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
484
484
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
485
485
 
486
- _experimental_spawn: ___experimental_spawn_spec[ReturnType, P]
486
+ _experimental_spawn: ___experimental_spawn_spec[P, ReturnType]
487
487
 
488
- class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER]):
488
+ class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
489
489
  def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
490
490
  async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
491
491
 
492
- spawn: __spawn_spec[ReturnType, P]
492
+ spawn: __spawn_spec[P, ReturnType]
493
493
 
494
494
  def get_raw_f(self) -> typing.Callable[..., typing.Any]: ...
495
495
 
modal/image.py CHANGED
@@ -571,21 +571,6 @@ class _Image(_Object, type_prefix="im"):
571
571
  obj.force_build = force_build
572
572
  return obj
573
573
 
574
- def extend(self, **kwargs) -> "_Image":
575
- """mdmd:hidden"""
576
- deprecation_error(
577
- (2024, 3, 7),
578
- "`Image.extend` is deprecated; please use a higher-level method, such as `Image.dockerfile_commands`.",
579
- )
580
-
581
- def build_dockerfile(version: ImageBuilderVersion) -> DockerfileSpec:
582
- return DockerfileSpec(
583
- commands=kwargs.pop("dockerfile_commands", []),
584
- context_files=kwargs.pop("context_files", {}),
585
- )
586
-
587
- return _Image._from_args(base_images={"base": self}, dockerfile_function=build_dockerfile, **kwargs)
588
-
589
574
  def copy_mount(self, mount: _Mount, remote_path: Union[str, Path] = ".") -> "_Image":
590
575
  """Copy the entire contents of a `modal.Mount` into an image.
591
576
  Useful when files only available locally are required during the image
modal/image.pyi CHANGED
@@ -92,19 +92,6 @@ class _Image(modal.object._Object):
92
92
  _namespace: int = 1,
93
93
  _do_assert_no_mount_layers: bool = True,
94
94
  ): ...
95
- def extend(
96
- self,
97
- *,
98
- secrets: typing.Optional[collections.abc.Sequence[modal.secret._Secret]] = None,
99
- gpu_config: typing.Optional[modal_proto.api_pb2.GPUConfig] = None,
100
- build_function: typing.Optional[modal.functions._Function] = None,
101
- build_function_input: typing.Optional[modal_proto.api_pb2.FunctionInput] = None,
102
- image_registry_config: typing.Optional[_ImageRegistryConfig] = None,
103
- context_mount: typing.Optional[modal.mount._Mount] = None,
104
- force_build: bool = False,
105
- _namespace: int = 1,
106
- _do_assert_no_mount_layers: bool = True,
107
- ) -> _Image: ...
108
95
  def copy_mount(self, mount: modal.mount._Mount, remote_path: typing.Union[str, pathlib.Path] = ".") -> _Image: ...
109
96
  def add_local_file(
110
97
  self, local_path: typing.Union[str, pathlib.Path], remote_path: str, *, copy: bool = False
@@ -364,19 +351,6 @@ class Image(modal.object.Object):
364
351
  _namespace: int = 1,
365
352
  _do_assert_no_mount_layers: bool = True,
366
353
  ): ...
367
- def extend(
368
- self,
369
- *,
370
- secrets: typing.Optional[collections.abc.Sequence[modal.secret.Secret]] = None,
371
- gpu_config: typing.Optional[modal_proto.api_pb2.GPUConfig] = None,
372
- build_function: typing.Optional[modal.functions.Function] = None,
373
- build_function_input: typing.Optional[modal_proto.api_pb2.FunctionInput] = None,
374
- image_registry_config: typing.Optional[_ImageRegistryConfig] = None,
375
- context_mount: typing.Optional[modal.mount.Mount] = None,
376
- force_build: bool = False,
377
- _namespace: int = 1,
378
- _do_assert_no_mount_layers: bool = True,
379
- ) -> Image: ...
380
354
  def copy_mount(self, mount: modal.mount.Mount, remote_path: typing.Union[str, pathlib.Path] = ".") -> Image: ...
381
355
  def add_local_file(
382
356
  self, local_path: typing.Union[str, pathlib.Path], remote_path: str, *, copy: bool = False
modal/partial_function.py CHANGED
@@ -611,12 +611,6 @@ def _exit(_warn_parentheses_missing=None) -> Callable[[ExitHandlerType], _Partia
611
611
  if isinstance(f, _PartialFunction):
612
612
  _disallow_wrapping_method(f, "exit")
613
613
 
614
- if callable_has_non_self_params(f):
615
- message = (
616
- "Support for decorating parameterized methods with `@exit` has been deprecated."
617
- " Please update your code by removing the parameters."
618
- )
619
- deprecation_error((2024, 2, 23), message)
620
614
  return _PartialFunction(f, _PartialFunctionFlags.EXIT)
621
615
 
622
616
  return wrapper
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: modal
3
- Version: 0.68.41
3
+ Version: 0.68.43
4
4
  Summary: Python client library for Modal
5
5
  Author: Modal Labs
6
6
  Author-email: support@modal.com
@@ -21,7 +21,7 @@ Requires-Dist: fastapi
21
21
  Requires-Dist: grpclib (==0.4.7)
22
22
  Requires-Dist: protobuf (!=4.24.0,<6.0,>=3.19)
23
23
  Requires-Dist: rich (>=12.0.0)
24
- Requires-Dist: synchronicity (~=0.9.7)
24
+ Requires-Dist: synchronicity (~=0.9.8)
25
25
  Requires-Dist: toml
26
26
  Requires-Dist: typer (>=0.9)
27
27
  Requires-Dist: types-certifi
@@ -19,7 +19,7 @@ modal/app.py,sha256=JWefPs4yB70BKQwSZejB_4_muhxn63cC9UmnNvpQ9XY,45526
19
19
  modal/app.pyi,sha256=FYPCEJNhof4YF6HIuNP_2yG6s2PgZnKW9tO1hFE6sfA,25194
20
20
  modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
21
21
  modal/client.py,sha256=JAnd4-GCN093BwkvOFAK5a6iy5ycxofjpUncMxlrIMw,15253
22
- modal/client.pyi,sha256=MnX---mq4AoF-q6gHxlDuiaBO61Daf94PLTrmEDvxPI,7280
22
+ modal/client.pyi,sha256=aXMj8fjA2fDm9UK_y2iaYozSMMIAfEwITVLvu7gf-BM,7280
23
23
  modal/cloud_bucket_mount.py,sha256=G7T7jWLD0QkmrfKR75mSTwdUZ2xNfj7pkVqb4ipmxmI,5735
24
24
  modal/cloud_bucket_mount.pyi,sha256=CEi7vrH3kDUF4LAy4qP6tfImy2UJuFRcRbsgRNM1wo8,1403
25
25
  modal/cls.py,sha256=3hjb0JcoPjxKZNeK22f5rR43bZRBjoRI7_EMZXY7YrE,31172
@@ -37,10 +37,10 @@ modal/file_io.py,sha256=pDOFNQU5m-x-k3oJauck4fOp3bZ55Vc-_LvSaN5_Bow,16465
37
37
  modal/file_io.pyi,sha256=GMhCCRyMftXYI3HqI9EdGPOx70CbCNi-VC5Sfy5TYnc,7631
38
38
  modal/file_pattern_matcher.py,sha256=V6P74Vc7LAuBFe_uepIaZmoDJiuAvqjFibe0GcMJwxo,5119
39
39
  modal/functions.py,sha256=-PHjDWuGBfoHYDiZc8eJtD2W9ka-c4jla2vHvA0z1fI,67821
40
- modal/functions.pyi,sha256=oMmcExtQxHwPej06jQ3uBe1tUlSR3VbAx7u3Vm-Ohhg,25317
40
+ modal/functions.pyi,sha256=snttn47K81lKhmrCLWNVZelZTDhNsbxtw4l1DlLDR74,25317
41
41
  modal/gpu.py,sha256=r4rL6uH3UJIQthzYvfWauXNyh01WqCPtKZCmmSX1fd4,6881
42
- modal/image.py,sha256=-swOPK80OXnFuhxoG3tT2zmJhas8yO-lr0jkOebBdKQ,82858
43
- modal/image.pyi,sha256=Ryd3x_Bic7j40DPe0MveGqqwvNtum2qA-6lUd5lnHvk,25503
42
+ modal/image.py,sha256=sv45bYaF5Jlmk8mQE3EDADYyXLi14hOe2CUM0Zb8Xao,82243
43
+ modal/image.pyi,sha256=VY_4HnDBhW8u_Zd3n-YBZ1H9idbTorWGwzsAzY7-B70,24213
44
44
  modal/io_streams.py,sha256=QkQiizKRzd5bnbKQsap31LJgBYlAnj4-XkV_50xPYX0,15079
45
45
  modal/io_streams.pyi,sha256=bCCVSxkMcosYd8O3PQDDwJw7TQ8JEcnYonLJ5t27TQs,4804
46
46
  modal/mount.py,sha256=tlHjosr7aY52wtOvnZxiVXmBOBSC2JeAxqwSJCutQx0,29175
@@ -52,7 +52,7 @@ modal/object.pyi,sha256=MO78H9yFSE5i1gExPEwyyQzLdlshkcGHN1aQ0ylyvq0,8802
52
52
  modal/output.py,sha256=N0xf4qeudEaYrslzdAl35VKV8rapstgIM2e9wO8_iy0,1967
53
53
  modal/parallel_map.py,sha256=4aoMXIrlG3wl5Ifk2YDNOQkXsGRsm6Xbfm6WtJ2t3WY,16002
54
54
  modal/parallel_map.pyi,sha256=pOhT0P3DDYlwLx0fR3PTsecA7DI8uOdXC1N8i-ZkyOY,2328
55
- modal/partial_function.py,sha256=61ctSak-xQrMfxSjf-rGlhkbnTWyylSvUpD1QSWV3uk,28166
55
+ modal/partial_function.py,sha256=pDDNR6KTaIIPpuKQaoO1vgP83_LTwxMhtOn6sVRrmC8,27862
56
56
  modal/partial_function.pyi,sha256=pO6kf8i5HVsZ7CF0z_KkzLk4Aeq7NJhFJ_VNIycRXaU,9260
57
57
  modal/proxy.py,sha256=ZrOsuQP7dSZFq1OrIxalNnt0Zvsnp1h86Th679sSL40,1417
58
58
  modal/proxy.pyi,sha256=UvygdOYneLTuoDY6hVaMNCyZ947Tmx93IdLjErUqkvM,368
@@ -164,10 +164,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
164
164
  modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  modal_version/__init__.py,sha256=RT6zPoOdFO99u5Wcxxaoir4ZCuPTbQ22cvzFAXl3vUY,470
166
166
  modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
167
- modal_version/_version_generated.py,sha256=xxS5aefLaRGA4uZSlaDf-vr7pX3q3tMd1y2iDxB9x-E,149
168
- modal-0.68.41.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
169
- modal-0.68.41.dist-info/METADATA,sha256=uFV6t19lWlLMnWI-TWjEU5QVRZimgt2jDgqUcZ2lz0o,2329
170
- modal-0.68.41.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
171
- modal-0.68.41.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
172
- modal-0.68.41.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
173
- modal-0.68.41.dist-info/RECORD,,
167
+ modal_version/_version_generated.py,sha256=SS-EbskhP3C2h91MWp5-YrczFhCO87WDuLiddT2A9Cg,149
168
+ modal-0.68.43.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
169
+ modal-0.68.43.dist-info/METADATA,sha256=JdcnngqGsVYCPanWLUgV25khnE8K4_rqXNQl8TRBt5Q,2329
170
+ modal-0.68.43.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
171
+ modal-0.68.43.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
172
+ modal-0.68.43.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
173
+ modal-0.68.43.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 = 41 # git: 7215745
4
+ build_number = 43 # git: 7e29e60