modal 0.74.20__py3-none-any.whl → 0.74.21__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/_functions.py +1 -4
- modal/app.py +6 -4
- modal/app.pyi +4 -4
- modal/client.pyi +2 -2
- modal/functions.pyi +6 -7
- modal/network_file_system.py +0 -2
- modal/network_file_system.pyi +1 -1
- modal/sandbox.py +1 -1
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/METADATA +1 -1
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/RECORD +15 -15
- modal_version/_version_generated.py +1 -1
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/WHEEL +0 -0
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/entry_points.txt +0 -0
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/licenses/LICENSE +0 -0
- {modal-0.74.20.dist-info → modal-0.74.21.dist-info}/top_level.txt +0 -0
modal/_functions.py
CHANGED
@@ -430,7 +430,6 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
430
430
|
# TODO: maybe break this out into a separate decorator for notebooks.
|
431
431
|
mounts: Collection[_Mount] = (),
|
432
432
|
network_file_systems: dict[Union[str, PurePosixPath], _NetworkFileSystem] = {},
|
433
|
-
allow_cross_region_volumes: bool = False,
|
434
433
|
volumes: dict[Union[str, PurePosixPath], Union[_Volume, _CloudBucketMount]] = {},
|
435
434
|
webhook_config: Optional[api_pb2.WebhookConfig] = None,
|
436
435
|
cpu: Optional[Union[float, tuple[float, float]]] = None,
|
@@ -788,9 +787,7 @@ class _Function(typing.Generic[P, ReturnType, OriginalReturnType], _Object, type
|
|
788
787
|
autoscaler_settings=autoscaler_settings,
|
789
788
|
method_definitions=method_definitions,
|
790
789
|
method_definitions_set=True,
|
791
|
-
shared_volume_mounts=network_file_system_mount_protos(
|
792
|
-
validated_network_file_systems, allow_cross_region_volumes
|
793
|
-
),
|
790
|
+
shared_volume_mounts=network_file_system_mount_protos(validated_network_file_systems),
|
794
791
|
volume_mounts=volume_mounts,
|
795
792
|
proxy_id=(proxy.object_id if proxy else None),
|
796
793
|
retry_policy=retry_policy,
|
modal/app.py
CHANGED
@@ -645,7 +645,6 @@ class _App:
|
|
645
645
|
volumes: dict[
|
646
646
|
Union[str, PurePosixPath], Union[_Volume, _CloudBucketMount]
|
647
647
|
] = {}, # Mount points for Modal Volumes & CloudBucketMounts
|
648
|
-
allow_cross_region_volumes: bool = False, # Whether using network file systems from other regions is allowed.
|
649
648
|
# Specify, in fractional CPU cores, how many CPU cores to request.
|
650
649
|
# Or, pass (request, limit) to additionally specify a hard limit in fractional CPU cores.
|
651
650
|
# CPU throttling will prevent a container from exceeding its specified limit.
|
@@ -689,6 +688,7 @@ class _App:
|
|
689
688
|
container_idle_timeout: Optional[int] = None, # Replaced with `scaledown_window`
|
690
689
|
allow_concurrent_inputs: Optional[int] = None, # Replaced with the `@modal.concurrent` decorator
|
691
690
|
_experimental_buffer_containers: Optional[int] = None, # Now stable API with `buffer_containers`
|
691
|
+
allow_cross_region_volumes: Optional[bool] = None, # Always True on the Modal backend now
|
692
692
|
) -> _FunctionDecoratorType:
|
693
693
|
"""Decorator to register a new Modal [Function](/docs/reference/modal.Function) with this App."""
|
694
694
|
if isinstance(_warn_parentheses_missing, _Image):
|
@@ -707,6 +707,8 @@ class _App:
|
|
707
707
|
" Please use the `@modal.concurrent` decorator instead."
|
708
708
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
709
709
|
)
|
710
|
+
if allow_cross_region_volumes is not None:
|
711
|
+
deprecation_warning((2025, 4, 23), "The `allow_cross_region_volumes` parameter no longer has any effect.")
|
710
712
|
|
711
713
|
secrets = [*self._secrets, *secrets]
|
712
714
|
|
@@ -821,7 +823,6 @@ class _App:
|
|
821
823
|
gpu=gpu,
|
822
824
|
mounts=[*self._mounts, *mounts],
|
823
825
|
network_file_systems=network_file_systems,
|
824
|
-
allow_cross_region_volumes=allow_cross_region_volumes,
|
825
826
|
volumes={**self._volumes, **volumes},
|
826
827
|
cpu=cpu,
|
827
828
|
memory=memory,
|
@@ -876,7 +877,6 @@ class _App:
|
|
876
877
|
volumes: dict[
|
877
878
|
Union[str, PurePosixPath], Union[_Volume, _CloudBucketMount]
|
878
879
|
] = {}, # Mount points for Modal Volumes & CloudBucketMounts
|
879
|
-
allow_cross_region_volumes: bool = False, # Whether using network file systems from other regions is allowed.
|
880
880
|
# Specify, in fractional CPU cores, how many CPU cores to request.
|
881
881
|
# Or, pass (request, limit) to additionally specify a hard limit in fractional CPU cores.
|
882
882
|
# CPU throttling will prevent a container from exceeding its specified limit.
|
@@ -914,6 +914,7 @@ class _App:
|
|
914
914
|
container_idle_timeout: Optional[int] = None, # Replaced with `scaledown_window`
|
915
915
|
allow_concurrent_inputs: Optional[int] = None, # Replaced with the `@modal.concurrent` decorator
|
916
916
|
_experimental_buffer_containers: Optional[int] = None, # Now stable API with `buffer_containers`
|
917
|
+
allow_cross_region_volumes: Optional[bool] = None, # Always True on the Modal backend now
|
917
918
|
) -> Callable[[Union[CLS_T, _PartialFunction]], CLS_T]:
|
918
919
|
"""
|
919
920
|
Decorator to register a new Modal [Cls](/docs/reference/modal.Cls) with this App.
|
@@ -934,6 +935,8 @@ class _App:
|
|
934
935
|
" Please use the `@modal.concurrent` decorator instead."
|
935
936
|
"\n\nSee https://modal.com/docs/guide/modal-1-0-migration for more information.",
|
936
937
|
)
|
938
|
+
if allow_cross_region_volumes is not None:
|
939
|
+
deprecation_warning((2025, 4, 23), "The `allow_cross_region_volumes` parameter no longer has any effect.")
|
937
940
|
|
938
941
|
def wrapper(wrapped_cls: Union[CLS_T, _PartialFunction]) -> CLS_T:
|
939
942
|
# Check if the decorated object is a class
|
@@ -990,7 +993,6 @@ class _App:
|
|
990
993
|
gpu=gpu,
|
991
994
|
mounts=[*self._mounts, *mounts],
|
992
995
|
network_file_systems=network_file_systems,
|
993
|
-
allow_cross_region_volumes=allow_cross_region_volumes,
|
994
996
|
volumes={**self._volumes, **volumes},
|
995
997
|
cpu=cpu,
|
996
998
|
memory=memory,
|
modal/app.pyi
CHANGED
@@ -180,7 +180,6 @@ class _App:
|
|
180
180
|
typing.Union[str, pathlib.PurePosixPath],
|
181
181
|
typing.Union[modal.volume._Volume, modal.cloud_bucket_mount._CloudBucketMount],
|
182
182
|
] = {},
|
183
|
-
allow_cross_region_volumes: bool = False,
|
184
183
|
cpu: typing.Union[float, tuple[float, float], None] = None,
|
185
184
|
memory: typing.Union[int, tuple[int, int], None] = None,
|
186
185
|
ephemeral_disk: typing.Optional[int] = None,
|
@@ -210,6 +209,7 @@ class _App:
|
|
210
209
|
container_idle_timeout: typing.Optional[int] = None,
|
211
210
|
allow_concurrent_inputs: typing.Optional[int] = None,
|
212
211
|
_experimental_buffer_containers: typing.Optional[int] = None,
|
212
|
+
allow_cross_region_volumes: typing.Optional[bool] = None,
|
213
213
|
) -> _FunctionDecoratorType: ...
|
214
214
|
@typing_extensions.dataclass_transform(
|
215
215
|
field_specifiers=(modal.cls.parameter,),
|
@@ -231,7 +231,6 @@ class _App:
|
|
231
231
|
typing.Union[str, pathlib.PurePosixPath],
|
232
232
|
typing.Union[modal.volume._Volume, modal.cloud_bucket_mount._CloudBucketMount],
|
233
233
|
] = {},
|
234
|
-
allow_cross_region_volumes: bool = False,
|
235
234
|
cpu: typing.Union[float, tuple[float, float], None] = None,
|
236
235
|
memory: typing.Union[int, tuple[int, int], None] = None,
|
237
236
|
ephemeral_disk: typing.Optional[int] = None,
|
@@ -258,6 +257,7 @@ class _App:
|
|
258
257
|
container_idle_timeout: typing.Optional[int] = None,
|
259
258
|
allow_concurrent_inputs: typing.Optional[int] = None,
|
260
259
|
_experimental_buffer_containers: typing.Optional[int] = None,
|
260
|
+
allow_cross_region_volumes: typing.Optional[bool] = None,
|
261
261
|
) -> collections.abc.Callable[[typing.Union[CLS_T, modal._partial_function._PartialFunction]], CLS_T]: ...
|
262
262
|
async def spawn_sandbox(
|
263
263
|
self,
|
@@ -442,7 +442,6 @@ class App:
|
|
442
442
|
typing.Union[str, pathlib.PurePosixPath],
|
443
443
|
typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
|
444
444
|
] = {},
|
445
|
-
allow_cross_region_volumes: bool = False,
|
446
445
|
cpu: typing.Union[float, tuple[float, float], None] = None,
|
447
446
|
memory: typing.Union[int, tuple[int, int], None] = None,
|
448
447
|
ephemeral_disk: typing.Optional[int] = None,
|
@@ -472,6 +471,7 @@ class App:
|
|
472
471
|
container_idle_timeout: typing.Optional[int] = None,
|
473
472
|
allow_concurrent_inputs: typing.Optional[int] = None,
|
474
473
|
_experimental_buffer_containers: typing.Optional[int] = None,
|
474
|
+
allow_cross_region_volumes: typing.Optional[bool] = None,
|
475
475
|
) -> _FunctionDecoratorType: ...
|
476
476
|
@typing_extensions.dataclass_transform(
|
477
477
|
field_specifiers=(modal.cls.parameter,),
|
@@ -493,7 +493,6 @@ class App:
|
|
493
493
|
typing.Union[str, pathlib.PurePosixPath],
|
494
494
|
typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
|
495
495
|
] = {},
|
496
|
-
allow_cross_region_volumes: bool = False,
|
497
496
|
cpu: typing.Union[float, tuple[float, float], None] = None,
|
498
497
|
memory: typing.Union[int, tuple[int, int], None] = None,
|
499
498
|
ephemeral_disk: typing.Optional[int] = None,
|
@@ -520,6 +519,7 @@ class App:
|
|
520
519
|
container_idle_timeout: typing.Optional[int] = None,
|
521
520
|
allow_concurrent_inputs: typing.Optional[int] = None,
|
522
521
|
_experimental_buffer_containers: typing.Optional[int] = None,
|
522
|
+
allow_cross_region_volumes: typing.Optional[bool] = None,
|
523
523
|
) -> collections.abc.Callable[[typing.Union[CLS_T, modal.partial_function.PartialFunction]], CLS_T]: ...
|
524
524
|
|
525
525
|
class __spawn_sandbox_spec(typing_extensions.Protocol[SUPERSELF]):
|
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.21"
|
31
31
|
): ...
|
32
32
|
def is_closed(self) -> bool: ...
|
33
33
|
@property
|
@@ -85,7 +85,7 @@ class Client:
|
|
85
85
|
_snapshotted: bool
|
86
86
|
|
87
87
|
def __init__(
|
88
|
-
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.
|
88
|
+
self, server_url: str, client_type: int, credentials: typing.Optional[tuple[str, str]], version: str = "0.74.21"
|
89
89
|
): ...
|
90
90
|
def is_closed(self) -> bool: ...
|
91
91
|
@property
|
modal/functions.pyi
CHANGED
@@ -68,7 +68,6 @@ class Function(
|
|
68
68
|
network_file_systems: dict[
|
69
69
|
typing.Union[str, pathlib.PurePosixPath], modal.network_file_system.NetworkFileSystem
|
70
70
|
] = {},
|
71
|
-
allow_cross_region_volumes: bool = False,
|
72
71
|
volumes: dict[
|
73
72
|
typing.Union[str, pathlib.PurePosixPath],
|
74
73
|
typing.Union[modal.volume.Volume, modal.cloud_bucket_mount.CloudBucketMount],
|
@@ -201,11 +200,11 @@ class Function(
|
|
201
200
|
|
202
201
|
_call_generator_nowait: ___call_generator_nowait_spec[typing_extensions.Self]
|
203
202
|
|
204
|
-
class __remote_spec(typing_extensions.Protocol[
|
203
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
205
204
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
206
205
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER: ...
|
207
206
|
|
208
|
-
remote: __remote_spec[modal._functions.
|
207
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
209
208
|
|
210
209
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
211
210
|
def __call__(self, *args, **kwargs) -> typing.Generator[typing.Any, None, None]: ...
|
@@ -220,19 +219,19 @@ class Function(
|
|
220
219
|
self, *args: modal._functions.P.args, **kwargs: modal._functions.P.kwargs
|
221
220
|
) -> modal._functions.OriginalReturnType: ...
|
222
221
|
|
223
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
222
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
224
223
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
225
224
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
226
225
|
|
227
226
|
_experimental_spawn: ___experimental_spawn_spec[
|
228
|
-
modal._functions.
|
227
|
+
modal._functions.P, modal._functions.ReturnType, typing_extensions.Self
|
229
228
|
]
|
230
229
|
|
231
|
-
class __spawn_spec(typing_extensions.Protocol[
|
230
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER, SUPERSELF]):
|
232
231
|
def __call__(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
233
232
|
async def aio(self, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]: ...
|
234
233
|
|
235
|
-
spawn: __spawn_spec[modal._functions.
|
234
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType, typing_extensions.Self]
|
236
235
|
|
237
236
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]: ...
|
238
237
|
|
modal/network_file_system.py
CHANGED
@@ -37,7 +37,6 @@ NETWORK_FILE_SYSTEM_PUT_FILE_CLIENT_TIMEOUT = (
|
|
37
37
|
|
38
38
|
def network_file_system_mount_protos(
|
39
39
|
validated_network_file_systems: list[tuple[str, "_NetworkFileSystem"]],
|
40
|
-
allow_cross_region_volumes: bool,
|
41
40
|
) -> list[api_pb2.SharedVolumeMount]:
|
42
41
|
network_file_system_mounts = []
|
43
42
|
# Relies on dicts being ordered (true as of Python 3.6).
|
@@ -46,7 +45,6 @@ def network_file_system_mount_protos(
|
|
46
45
|
api_pb2.SharedVolumeMount(
|
47
46
|
mount_path=path,
|
48
47
|
shared_volume_id=volume.object_id,
|
49
|
-
allow_cross_region=allow_cross_region_volumes,
|
50
48
|
)
|
51
49
|
)
|
52
50
|
return network_file_system_mounts
|
modal/network_file_system.pyi
CHANGED
@@ -10,7 +10,7 @@ import typing
|
|
10
10
|
import typing_extensions
|
11
11
|
|
12
12
|
def network_file_system_mount_protos(
|
13
|
-
validated_network_file_systems: list[tuple[str, _NetworkFileSystem]],
|
13
|
+
validated_network_file_systems: list[tuple[str, _NetworkFileSystem]],
|
14
14
|
) -> list[modal_proto.api_pb2.SharedVolumeMount]: ...
|
15
15
|
|
16
16
|
class _NetworkFileSystem(modal._object._Object):
|
modal/sandbox.py
CHANGED
@@ -187,7 +187,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
187
187
|
cpu=cpu, memory=memory, gpu=gpu, ephemeral_disk=ephemeral_disk
|
188
188
|
),
|
189
189
|
cloud_provider_str=cloud if cloud else None, # Supersedes cloud_provider
|
190
|
-
nfs_mounts=network_file_system_mount_protos(validated_network_file_systems
|
190
|
+
nfs_mounts=network_file_system_mount_protos(validated_network_file_systems),
|
191
191
|
runtime=config.get("function_runtime"),
|
192
192
|
runtime_debug=config.get("function_runtime_debug"),
|
193
193
|
cloud_bucket_mounts=cloud_bucket_mounts_to_proto(cloud_bucket_mounts),
|
@@ -3,7 +3,7 @@ modal/__main__.py,sha256=sTJcc9EbDuCKSwg3tL6ZckFw9WWdlkXW8mId1IvJCNc,2846
|
|
3
3
|
modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
|
4
4
|
modal/_clustered_functions.pyi,sha256=vllkegc99A0jrUOWa8mdlSbdp6uz36TsHhGxysAOpaQ,771
|
5
5
|
modal/_container_entrypoint.py,sha256=DymOImhc3uGRkIq_qXmBsEbWMB4EBMpfuXzz2S4BcGg,29404
|
6
|
-
modal/_functions.py,sha256=
|
6
|
+
modal/_functions.py,sha256=XFBnzOUc4MZlJWarnw8iC2za0QciePdnu0yxCW5q5DY,74776
|
7
7
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
8
8
|
modal/_location.py,sha256=joiX-0ZeutEUDTrrqLF1GHXCdVLF-rHzstocbMcd_-k,366
|
9
9
|
modal/_object.py,sha256=JBIECWdfpRKCaCxVWZbC3Q1kF5Whk_EKvY9f4Y6AFyg,11446
|
@@ -18,11 +18,11 @@ modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
|
|
18
18
|
modal/_tunnel.pyi,sha256=JmmDYAy9F1FpgJ_hWx0xkom2nTOFQjn4mTPYlU3PFo4,1245
|
19
19
|
modal/_type_manager.py,sha256=DWjgmjYJuOagw2erin506UUbG2H5UzZCFEekS-7hmfA,9087
|
20
20
|
modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
|
21
|
-
modal/app.py,sha256=
|
22
|
-
modal/app.pyi,sha256=
|
21
|
+
modal/app.py,sha256=pfVe8VH56foho4uqdQJCbn0HST_ihh0qUGqmAMNrfWw,50822
|
22
|
+
modal/app.pyi,sha256=xM5u8WuGRRAWAQ0m2cd2PowJOgqI3M87hcq-AAM6XBQ,28286
|
23
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
24
24
|
modal/client.py,sha256=U-YKSw0n7J1ZLREt9cbEJCtmHe5YoPKFxl0xlkan2yc,15565
|
25
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=dtltzSHCwY4o8_HjNczIsILGd10aVVzOecpg02X9ZXs,7593
|
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=GvaNl8R5UsH7Vg88WEOyerdjvZEPK7xxi3nqHlyOW_c,33497
|
@@ -39,7 +39,7 @@ modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
|
39
39
|
modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
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=ehzJTMoBAOqrliX9ignzCcekvjTsY6fPXBjMngpPfwE,14805
|
43
43
|
modal/gpu.py,sha256=Kbhs_u49FaC2Zi0TjCdrpstpRtT5eZgecynmQi5IZVE,6752
|
44
44
|
modal/image.py,sha256=I-9_YZL0SSfnuGPywa3-4PlxDmJ-53p7ce3gP74SrOA,92877
|
45
45
|
modal/image.pyi,sha256=89zv12C1sFrJs7Es9SnX23_m208ASAdeNGCVTrhjzHI,25632
|
@@ -47,8 +47,8 @@ modal/io_streams.py,sha256=YDZVQSDv05DeXg5TwcucC9Rj5hQBx2GXdluan9rIUpw,15467
|
|
47
47
|
modal/io_streams.pyi,sha256=RpXIWFm6fQkLJRc1uxd0KkQ2wTLCB65jRlyGplU6CQE,5100
|
48
48
|
modal/mount.py,sha256=VruBgKrCXD_mmv7iXEfSYERQ3CwH7iqymA3v-5xLGMc,32685
|
49
49
|
modal/mount.pyi,sha256=CmHa7zKSxHA_7-vMQLnGfw_ZXvAvHlafvUEVJcQ1LQA,12535
|
50
|
-
modal/network_file_system.py,sha256=
|
51
|
-
modal/network_file_system.pyi,sha256=
|
50
|
+
modal/network_file_system.py,sha256=YjSv2j-pP4mTtAbxq26OO01xgOzuTy4ZNfMCG6K8k3M,14768
|
51
|
+
modal/network_file_system.pyi,sha256=fkSIj27UVkQtd7-msWQ-4y1Cvqp2XXq9MX_FzOCKHyk,8123
|
52
52
|
modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
|
53
53
|
modal/object.pyi,sha256=kyJkRQcVv3ct7zSAxvvXcuhBVeH914v80uSlqeS7cA4,5632
|
54
54
|
modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
|
@@ -65,7 +65,7 @@ modal/retries.py,sha256=IvNLDM0f_GLUDD5VgEDoN09C88yoxSrCquinAuxT1Sc,5205
|
|
65
65
|
modal/runner.py,sha256=yK1mBkX1_ZKvvWLoe1e2mGehJSWs97Mpyglo9Oj5rQw,24783
|
66
66
|
modal/runner.pyi,sha256=HW2pvC_PLwg1Es_EkrfQgMZsktIr9zzVEtmjOVFG6Dw,5351
|
67
67
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
68
|
-
modal/sandbox.py,sha256=
|
68
|
+
modal/sandbox.py,sha256=wM0-AWRJKwwREdUSLaSMn9yTbiWz5VAX9ahpVy0K0nU,32155
|
69
69
|
modal/sandbox.pyi,sha256=cLmSwI1ab-2DgEuXNf6S1PiK63wfUR9dHtxlZtSOuX8,22719
|
70
70
|
modal/schedule.py,sha256=0ZFpKs1bOxeo5n3HZjoL7OE2ktsb-_oGtq-WJEPO4tY,2615
|
71
71
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
@@ -145,7 +145,7 @@ modal/requirements/2024.10.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddR
|
|
145
145
|
modal/requirements/PREVIEW.txt,sha256=qD-5cVIVM9wXesJ6JC89Ew-3m2KjEElUz3jaw_MddRo,296
|
146
146
|
modal/requirements/README.md,sha256=9tK76KP0Uph7O0M5oUgsSwEZDj5y-dcUPsnpR0Sc-Ik,854
|
147
147
|
modal/requirements/base-images.json,sha256=57vMSqzMbLBxw5tFWSaMiIkkVEps4JfX5PAtXGnkS4U,740
|
148
|
-
modal-0.74.
|
148
|
+
modal-0.74.21.dist-info/licenses/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
149
149
|
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
150
150
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
151
151
|
modal_docs/gen_reference_docs.py,sha256=d_CQUGQ0rfw28u75I2mov9AlS773z9rG40-yq5o7g2U,6359
|
@@ -170,9 +170,9 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
170
170
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
171
171
|
modal_version/__init__.py,sha256=m94xZNWIjH8oUtJk4l9xfovzDJede2o7X-q0MHVECtM,470
|
172
172
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
173
|
-
modal_version/_version_generated.py,sha256=
|
174
|
-
modal-0.74.
|
175
|
-
modal-0.74.
|
176
|
-
modal-0.74.
|
177
|
-
modal-0.74.
|
178
|
-
modal-0.74.
|
173
|
+
modal_version/_version_generated.py,sha256=b63t7pBkkiESN2xoagTdXGDEppQTz0jfwTc7sADu8cg,149
|
174
|
+
modal-0.74.21.dist-info/METADATA,sha256=uakEn2SqXkcq-hXG79e_-wCybug8kNaPQpE8l6MEo10,2474
|
175
|
+
modal-0.74.21.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
|
176
|
+
modal-0.74.21.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
177
|
+
modal-0.74.21.dist-info/top_level.txt,sha256=4BWzoKYREKUZ5iyPzZpjqx4G8uB5TWxXPDwibLcVa7k,43
|
178
|
+
modal-0.74.21.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|