modal 0.73.27__py3-none-any.whl → 0.73.29__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/__main__.py +1 -1
- modal/_container_entrypoint.py +4 -4
- modal/_functions.py +6 -5
- modal/_partial_function.py +691 -0
- modal/_resolver.py +1 -2
- modal/_runtime/container_io_manager.py +1 -1
- modal/_runtime/user_code_imports.py +3 -4
- modal/_utils/async_utils.py +3 -6
- modal/_utils/blob_utils.py +1 -1
- modal/_utils/function_utils.py +1 -2
- modal/app.py +12 -14
- modal/cli/entry_point.py +1 -1
- modal/cli/run.py +2 -3
- modal/cli/secret.py +1 -1
- modal/cli/volume.py +1 -2
- modal/client.pyi +2 -2
- modal/cls.py +7 -8
- modal/cls.pyi +2 -1
- modal/environments.py +1 -3
- modal/experimental.py +1 -1
- modal/file_pattern_matcher.py +1 -2
- modal/mount.py +4 -8
- modal/output.py +1 -0
- modal/partial_function.py +26 -696
- modal/partial_function.pyi +19 -157
- modal/sandbox.py +4 -8
- modal/token_flow.py +1 -1
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/METADATA +1 -1
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/RECORD +35 -34
- modal_docs/mdmd/mdmd.py +1 -0
- modal_version/_version_generated.py +1 -1
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/LICENSE +0 -0
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/WHEEL +0 -0
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/entry_points.txt +0 -0
- {modal-0.73.27.dist-info → modal-0.73.29.dist-info}/top_level.txt +0 -0
modal/partial_function.pyi
CHANGED
@@ -1,64 +1,16 @@
|
|
1
1
|
import collections.abc
|
2
|
-
import
|
3
|
-
import modal._functions
|
2
|
+
import modal._partial_function
|
4
3
|
import modal.functions
|
5
4
|
import modal_proto.api_pb2
|
6
5
|
import typing
|
7
|
-
import typing_extensions
|
8
6
|
|
9
|
-
class
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
CLUSTERED = 64 # Experimental: Clustered functions
|
17
|
-
|
18
|
-
@staticmethod
|
19
|
-
def all() -> int:
|
20
|
-
return ~_PartialFunctionFlags(0)
|
21
|
-
|
22
|
-
P = typing_extensions.ParamSpec("P")
|
23
|
-
|
24
|
-
ReturnType = typing.TypeVar("ReturnType", covariant=True)
|
25
|
-
|
26
|
-
OriginalReturnType = typing.TypeVar("OriginalReturnType", covariant=True)
|
27
|
-
|
28
|
-
class _PartialFunction(typing.Generic[P, ReturnType, OriginalReturnType]):
|
29
|
-
raw_f: collections.abc.Callable[P, ReturnType]
|
30
|
-
flags: _PartialFunctionFlags
|
31
|
-
webhook_config: typing.Optional[modal_proto.api_pb2.WebhookConfig]
|
32
|
-
is_generator: bool
|
33
|
-
keep_warm: typing.Optional[int]
|
34
|
-
batch_max_size: typing.Optional[int]
|
35
|
-
batch_wait_ms: typing.Optional[int]
|
36
|
-
force_build: bool
|
37
|
-
cluster_size: typing.Optional[int]
|
38
|
-
build_timeout: typing.Optional[int]
|
39
|
-
|
40
|
-
def __init__(
|
41
|
-
self,
|
42
|
-
raw_f: collections.abc.Callable[P, ReturnType],
|
43
|
-
flags: _PartialFunctionFlags,
|
44
|
-
webhook_config: typing.Optional[modal_proto.api_pb2.WebhookConfig] = None,
|
45
|
-
is_generator: typing.Optional[bool] = None,
|
46
|
-
keep_warm: typing.Optional[int] = None,
|
47
|
-
batch_max_size: typing.Optional[int] = None,
|
48
|
-
batch_wait_ms: typing.Optional[int] = None,
|
49
|
-
cluster_size: typing.Optional[int] = None,
|
50
|
-
force_build: bool = False,
|
51
|
-
build_timeout: typing.Optional[int] = None,
|
52
|
-
): ...
|
53
|
-
def _get_raw_f(self) -> collections.abc.Callable[P, ReturnType]: ...
|
54
|
-
def _is_web_endpoint(self) -> bool: ...
|
55
|
-
def __get__(self, obj, objtype=None) -> modal._functions._Function[P, ReturnType, OriginalReturnType]: ...
|
56
|
-
def __del__(self): ...
|
57
|
-
def add_flags(self, flags) -> _PartialFunction: ...
|
58
|
-
|
59
|
-
class PartialFunction(typing.Generic[P, ReturnType, OriginalReturnType]):
|
60
|
-
raw_f: collections.abc.Callable[P, ReturnType]
|
61
|
-
flags: _PartialFunctionFlags
|
7
|
+
class PartialFunction(
|
8
|
+
typing.Generic[
|
9
|
+
modal._partial_function.P, modal._partial_function.ReturnType, modal._partial_function.OriginalReturnType
|
10
|
+
]
|
11
|
+
):
|
12
|
+
raw_f: collections.abc.Callable[modal._partial_function.P, modal._partial_function.ReturnType]
|
13
|
+
flags: modal._partial_function._PartialFunctionFlags
|
62
14
|
webhook_config: typing.Optional[modal_proto.api_pb2.WebhookConfig]
|
63
15
|
is_generator: bool
|
64
16
|
keep_warm: typing.Optional[int]
|
@@ -70,8 +22,8 @@ class PartialFunction(typing.Generic[P, ReturnType, OriginalReturnType]):
|
|
70
22
|
|
71
23
|
def __init__(
|
72
24
|
self,
|
73
|
-
raw_f: collections.abc.Callable[P, ReturnType],
|
74
|
-
flags: _PartialFunctionFlags,
|
25
|
+
raw_f: collections.abc.Callable[modal._partial_function.P, modal._partial_function.ReturnType],
|
26
|
+
flags: modal._partial_function._PartialFunctionFlags,
|
75
27
|
webhook_config: typing.Optional[modal_proto.api_pb2.WebhookConfig] = None,
|
76
28
|
is_generator: typing.Optional[bool] = None,
|
77
29
|
keep_warm: typing.Optional[int] = None,
|
@@ -81,113 +33,22 @@ class PartialFunction(typing.Generic[P, ReturnType, OriginalReturnType]):
|
|
81
33
|
force_build: bool = False,
|
82
34
|
build_timeout: typing.Optional[int] = None,
|
83
35
|
): ...
|
84
|
-
def _get_raw_f(self) -> collections.abc.Callable[P, ReturnType]: ...
|
36
|
+
def _get_raw_f(self) -> collections.abc.Callable[modal._partial_function.P, modal._partial_function.ReturnType]: ...
|
85
37
|
def _is_web_endpoint(self) -> bool: ...
|
86
|
-
def __get__(
|
38
|
+
def __get__(
|
39
|
+
self, obj, objtype=None
|
40
|
+
) -> modal.functions.Function[
|
41
|
+
modal._partial_function.P, modal._partial_function.ReturnType, modal._partial_function.OriginalReturnType
|
42
|
+
]: ...
|
87
43
|
def __del__(self): ...
|
88
44
|
def add_flags(self, flags) -> PartialFunction: ...
|
89
45
|
|
90
|
-
def _find_partial_methods_for_user_cls(user_cls: type[typing.Any], flags: int) -> dict[str, _PartialFunction]: ...
|
91
|
-
def _find_callables_for_obj(
|
92
|
-
user_obj: typing.Any, flags: int
|
93
|
-
) -> dict[str, collections.abc.Callable[..., typing.Any]]: ...
|
94
|
-
|
95
|
-
class _MethodDecoratorType:
|
96
|
-
@typing.overload
|
97
|
-
def __call__(
|
98
|
-
self, func: PartialFunction[typing_extensions.Concatenate[typing.Any, P], ReturnType, OriginalReturnType]
|
99
|
-
) -> PartialFunction[P, ReturnType, OriginalReturnType]: ...
|
100
|
-
@typing.overload
|
101
|
-
def __call__(
|
102
|
-
self,
|
103
|
-
func: collections.abc.Callable[
|
104
|
-
typing_extensions.Concatenate[typing.Any, P], collections.abc.Coroutine[typing.Any, typing.Any, ReturnType]
|
105
|
-
],
|
106
|
-
) -> PartialFunction[P, ReturnType, collections.abc.Coroutine[typing.Any, typing.Any, ReturnType]]: ...
|
107
|
-
@typing.overload
|
108
|
-
def __call__(
|
109
|
-
self, func: collections.abc.Callable[typing_extensions.Concatenate[typing.Any, P], ReturnType]
|
110
|
-
) -> PartialFunction[P, ReturnType, ReturnType]: ...
|
111
|
-
|
112
|
-
def _method(
|
113
|
-
_warn_parentheses_missing=None,
|
114
|
-
*,
|
115
|
-
is_generator: typing.Optional[bool] = None,
|
116
|
-
keep_warm: typing.Optional[int] = None,
|
117
|
-
) -> _MethodDecoratorType: ...
|
118
|
-
def _parse_custom_domains(
|
119
|
-
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
120
|
-
) -> list[modal_proto.api_pb2.CustomDomainConfig]: ...
|
121
|
-
def _web_endpoint(
|
122
|
-
_warn_parentheses_missing=None,
|
123
|
-
*,
|
124
|
-
method: str = "GET",
|
125
|
-
label: typing.Optional[str] = None,
|
126
|
-
docs: bool = False,
|
127
|
-
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
128
|
-
requires_proxy_auth: bool = False,
|
129
|
-
wait_for_response: bool = True,
|
130
|
-
) -> collections.abc.Callable[
|
131
|
-
[collections.abc.Callable[P, ReturnType]], _PartialFunction[P, ReturnType, ReturnType]
|
132
|
-
]: ...
|
133
|
-
def _asgi_app(
|
134
|
-
_warn_parentheses_missing=None,
|
135
|
-
*,
|
136
|
-
label: typing.Optional[str] = None,
|
137
|
-
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
138
|
-
requires_proxy_auth: bool = False,
|
139
|
-
wait_for_response: bool = True,
|
140
|
-
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], _PartialFunction]: ...
|
141
|
-
def _wsgi_app(
|
142
|
-
_warn_parentheses_missing=None,
|
143
|
-
*,
|
144
|
-
label: typing.Optional[str] = None,
|
145
|
-
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
146
|
-
requires_proxy_auth: bool = False,
|
147
|
-
wait_for_response: bool = True,
|
148
|
-
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], _PartialFunction]: ...
|
149
|
-
def _web_server(
|
150
|
-
port: int,
|
151
|
-
*,
|
152
|
-
startup_timeout: float = 5.0,
|
153
|
-
label: typing.Optional[str] = None,
|
154
|
-
custom_domains: typing.Optional[collections.abc.Iterable[str]] = None,
|
155
|
-
requires_proxy_auth: bool = False,
|
156
|
-
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], _PartialFunction]: ...
|
157
|
-
def _disallow_wrapping_method(f: _PartialFunction, wrapper: str) -> None: ...
|
158
|
-
def _build(
|
159
|
-
_warn_parentheses_missing=None, *, force: bool = False, timeout: int = 86400
|
160
|
-
) -> collections.abc.Callable[
|
161
|
-
[typing.Union[collections.abc.Callable[[typing.Any], typing.Any], _PartialFunction]], _PartialFunction
|
162
|
-
]: ...
|
163
|
-
def _enter(
|
164
|
-
_warn_parentheses_missing=None, *, snap: bool = False
|
165
|
-
) -> collections.abc.Callable[
|
166
|
-
[typing.Union[collections.abc.Callable[[typing.Any], typing.Any], _PartialFunction]], _PartialFunction
|
167
|
-
]: ...
|
168
|
-
def _exit(
|
169
|
-
_warn_parentheses_missing=None,
|
170
|
-
) -> collections.abc.Callable[
|
171
|
-
[
|
172
|
-
typing.Union[
|
173
|
-
collections.abc.Callable[
|
174
|
-
[typing.Any, typing.Optional[type[BaseException]], typing.Optional[BaseException], typing.Any],
|
175
|
-
typing.Any,
|
176
|
-
],
|
177
|
-
collections.abc.Callable[[typing.Any], typing.Any],
|
178
|
-
]
|
179
|
-
],
|
180
|
-
_PartialFunction,
|
181
|
-
]: ...
|
182
|
-
def _batched(
|
183
|
-
_warn_parentheses_missing=None, *, max_batch_size: int, wait_ms: int
|
184
|
-
) -> collections.abc.Callable[[collections.abc.Callable[..., typing.Any]], _PartialFunction]: ...
|
185
46
|
def method(
|
186
47
|
_warn_parentheses_missing=None,
|
187
48
|
*,
|
188
49
|
is_generator: typing.Optional[bool] = None,
|
189
50
|
keep_warm: typing.Optional[int] = None,
|
190
|
-
) -> _MethodDecoratorType: ...
|
51
|
+
) -> modal._partial_function._MethodDecoratorType: ...
|
191
52
|
def web_endpoint(
|
192
53
|
_warn_parentheses_missing=None,
|
193
54
|
*,
|
@@ -198,7 +59,8 @@ def web_endpoint(
|
|
198
59
|
requires_proxy_auth: bool = False,
|
199
60
|
wait_for_response: bool = True,
|
200
61
|
) -> collections.abc.Callable[
|
201
|
-
[collections.abc.Callable[P, ReturnType]],
|
62
|
+
[collections.abc.Callable[modal._partial_function.P, modal._partial_function.ReturnType]],
|
63
|
+
PartialFunction[modal._partial_function.P, modal._partial_function.ReturnType, modal._partial_function.ReturnType],
|
202
64
|
]: ...
|
203
65
|
def asgi_app(
|
204
66
|
_warn_parentheses_missing=None,
|
modal/sandbox.py
CHANGED
@@ -468,8 +468,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
468
468
|
text: Literal[True] = True,
|
469
469
|
bufsize: Literal[-1, 1] = -1,
|
470
470
|
_pty_info: Optional[api_pb2.PTYInfo] = None,
|
471
|
-
) -> _ContainerProcess[str]:
|
472
|
-
...
|
471
|
+
) -> _ContainerProcess[str]: ...
|
473
472
|
|
474
473
|
@overload
|
475
474
|
async def exec(
|
@@ -484,8 +483,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
484
483
|
text: Literal[False] = False,
|
485
484
|
bufsize: Literal[-1, 1] = -1,
|
486
485
|
_pty_info: Optional[api_pb2.PTYInfo] = None,
|
487
|
-
) -> _ContainerProcess[bytes]:
|
488
|
-
...
|
486
|
+
) -> _ContainerProcess[bytes]: ...
|
489
487
|
|
490
488
|
async def exec(
|
491
489
|
self,
|
@@ -597,16 +595,14 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
597
595
|
self,
|
598
596
|
path: str,
|
599
597
|
mode: "_typeshed.OpenTextMode",
|
600
|
-
) -> _FileIO[str]:
|
601
|
-
...
|
598
|
+
) -> _FileIO[str]: ...
|
602
599
|
|
603
600
|
@overload
|
604
601
|
async def open(
|
605
602
|
self,
|
606
603
|
path: str,
|
607
604
|
mode: "_typeshed.OpenBinaryMode",
|
608
|
-
) -> _FileIO[bytes]:
|
609
|
-
...
|
605
|
+
) -> _FileIO[bytes]: ...
|
610
606
|
|
611
607
|
async def open(
|
612
608
|
self,
|
modal/token_flow.py
CHANGED
@@ -104,7 +104,7 @@ async def _new_token(
|
|
104
104
|
result = await token_flow.finish()
|
105
105
|
if result is not None:
|
106
106
|
break
|
107
|
-
status.update(f"Waiting for token flow to complete... (attempt {attempt+2})")
|
107
|
+
status.update(f"Waiting for token flow to complete... (attempt {attempt + 2})")
|
108
108
|
|
109
109
|
console.print("[green]Web authentication finished successfully![/green]")
|
110
110
|
|
@@ -1,44 +1,45 @@
|
|
1
1
|
modal/__init__.py,sha256=df6aKAigSPFXnmIohWySf_1zZ9Gzgrb7-oprSbopD4w,2299
|
2
|
-
modal/__main__.py,sha256=
|
2
|
+
modal/__main__.py,sha256=CgIjP8m1xJjjd4AXc-delmR6LdBCZclw2A_V38CFIio,2870
|
3
3
|
modal/_clustered_functions.py,sha256=kTf-9YBXY88NutC1akI-gCbvf01RhMPCw-zoOI_YIUE,2700
|
4
4
|
modal/_clustered_functions.pyi,sha256=vllkegc99A0jrUOWa8mdlSbdp6uz36TsHhGxysAOpaQ,771
|
5
|
-
modal/_container_entrypoint.py,sha256=
|
6
|
-
modal/_functions.py,sha256=
|
5
|
+
modal/_container_entrypoint.py,sha256=YtfJ852XUDtAWBD-yVs99zy933-VBEKQyIngEj36Qcw,29286
|
6
|
+
modal/_functions.py,sha256=dxZjGMsocphkxTxI2bjoI8yuA1Z4hUl1b5alS7v3QCI,72023
|
7
7
|
modal/_ipython.py,sha256=TW1fkVOmZL3YYqdS2YlM1hqpf654Yf8ZyybHdBnlhSw,301
|
8
8
|
modal/_location.py,sha256=S3lSxIU3h9HkWpkJ3Pwo0pqjIOSB1fjeSgUsY3x7eec,1202
|
9
9
|
modal/_object.py,sha256=ItQcsMNkz9Y3kdTsvfNarbW-paJ2qabDyQ7njaqY0XI,11359
|
10
10
|
modal/_output.py,sha256=Z0nngPh2mKHMQc4MQ92YjVPc3ewOLa3I4dFBlL9nvQY,25656
|
11
|
+
modal/_partial_function.py,sha256=KGv4hWXBboiWFxC733jfOHKdvShTPjF75lVv866Lgyc,29078
|
11
12
|
modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
|
12
13
|
modal/_pty.py,sha256=JZfPDDpzqICZqtyPI_oMJf_9w-p_lLNuzHhwhodUXio,1329
|
13
|
-
modal/_resolver.py,sha256=
|
14
|
+
modal/_resolver.py,sha256=RtoXoYzSllPlFu0D1vel_FWiEmDO7RyToiC2bxeN8ZY,6917
|
14
15
|
modal/_resources.py,sha256=5qmcirXUI8dSH926nwkUaeX9H25mqYu9mXD_KuT79-o,1733
|
15
16
|
modal/_serialization.py,sha256=NYSjM9FnbLXULuzpboVvPcFFHRyh3hn_AcSFXQCGPYc,19741
|
16
17
|
modal/_traceback.py,sha256=IZQzB3fVlUfMHOSyKUgw0H6qv4yHnpyq-XVCNZKfUdA,5023
|
17
18
|
modal/_tunnel.py,sha256=zTBxBiuH1O22tS1OliAJdIsSmaZS8PlnifS_6S5z-mk,6320
|
18
19
|
modal/_tunnel.pyi,sha256=JmmDYAy9F1FpgJ_hWx0xkom2nTOFQjn4mTPYlU3PFo4,1245
|
19
20
|
modal/_watcher.py,sha256=K6LYnlmSGQB4tWWI9JADv-tvSvQ1j522FwT71B51CX8,3584
|
20
|
-
modal/app.py,sha256=
|
21
|
+
modal/app.py,sha256=rCOPD51gVyow8muyaqMuV65qfTnAZKf_w1OCZdSF_6o,44636
|
21
22
|
modal/app.pyi,sha256=lxiuWzE_OLb3WHg-H7Pek9DGBuCUzZ55P594VhJL5LA,26113
|
22
23
|
modal/call_graph.py,sha256=1g2DGcMIJvRy-xKicuf63IVE98gJSnQsr8R_NVMptNc,2581
|
23
24
|
modal/client.py,sha256=8SQawr7P1PNUCq1UmJMUQXG2jIo4Nmdcs311XqrNLRE,15276
|
24
|
-
modal/client.pyi,sha256=
|
25
|
+
modal/client.pyi,sha256=MQimgW9ZEfR0nnv55oQC23DXgUqLx5jVtcvRnjkL5y0,7593
|
25
26
|
modal/cloud_bucket_mount.py,sha256=YOe9nnvSr4ZbeCn587d7_VhE9IioZYRvF9VYQTQux08,5914
|
26
27
|
modal/cloud_bucket_mount.pyi,sha256=30T3K1a89l6wzmEJ_J9iWv9SknoGqaZDx59Xs-ZQcmk,1607
|
27
|
-
modal/cls.py,sha256=
|
28
|
-
modal/cls.pyi,sha256=
|
28
|
+
modal/cls.py,sha256=5Er9L9tGpLGIrbiHOI7c9266gPG6nhxoJ_BX8op96nU,31096
|
29
|
+
modal/cls.pyi,sha256=TaQEWPZ-zzAQJJSZem6E4KuyOeEJLignUD1anSRzwBg,8909
|
29
30
|
modal/config.py,sha256=XT1W4Y9PVkbYMAXjJRshvQEPDhZmnfW_ZRMwl8XKoqA,11149
|
30
31
|
modal/container_process.py,sha256=WTqLn01dJPVkPpwR_0w_JH96ceN5mV4TGtiu1ZR2RRA,6108
|
31
32
|
modal/container_process.pyi,sha256=Hf0J5JyDdCCXBJSKx6gvkPOo0XrztCm78xzxamtzUjQ,2828
|
32
33
|
modal/dict.py,sha256=vc5lQVqzeDUCb4fRjnOlqYK2GmBb0fIhZmvB0xIBG0U,12921
|
33
34
|
modal/dict.pyi,sha256=kKb0Kc6RUabtQ5Hwslg_vwL_OIrwIAJ2NXrJTepTtp4,7684
|
34
|
-
modal/environments.py,sha256=
|
35
|
+
modal/environments.py,sha256=mrOaS9hiIQijGWJYIgVKQnwC-kONhWHm1GqoK_9G75E,6924
|
35
36
|
modal/environments.pyi,sha256=JvSroVOIXDIILL40Z5G4HyY16bmih2YMWMvWL-SFTwo,3373
|
36
37
|
modal/exception.py,sha256=4JyO-SACaLNDe2QC48EjsK8GMkZ8AgEurZ8j1YdRu8E,5263
|
37
|
-
modal/experimental.py,sha256=
|
38
|
+
modal/experimental.py,sha256=e625Ekpo2HtYkk6ZltM_XYcI9xhLxic8_7Na91PbdUg,4017
|
38
39
|
modal/experimental.pyi,sha256=24tIYu_w9RLwFrz1cIsgYuqmDCtV8eg6-bQNz3zjhDo,939
|
39
40
|
modal/file_io.py,sha256=lcMs_E9Xfm0YX1t9U2wNIBPnqHRxmImqjLW1GHqVmyg,20945
|
40
41
|
modal/file_io.pyi,sha256=NTRft1tbPSWf9TlWVeZmTlgB5AZ_Zhu2srWIrWr7brk,9445
|
41
|
-
modal/file_pattern_matcher.py,sha256=
|
42
|
+
modal/file_pattern_matcher.py,sha256=trosX-Bp7dOubudN1bLLhRAoidWy1TcoaR4Pv8CedWw,6497
|
42
43
|
modal/functions.py,sha256=kcNHvqeGBxPI7Cgd57NIBBghkfbeFJzXO44WW0jSmao,325
|
43
44
|
modal/functions.pyi,sha256=YflJx4BhzmJLJzpVWbuAMv0Qv63Mgb3r9qZqrgBEr1w,14289
|
44
45
|
modal/gpu.py,sha256=uDluoK3hXyj2YRxGhVDFOifOBCsXFTo5hVueGoJPb8w,6001
|
@@ -46,17 +47,17 @@ modal/image.py,sha256=KYc6bg-m9A6wiLF38dWcFBMrEATyR2KOF0sp-6O9uC0,91508
|
|
46
47
|
modal/image.pyi,sha256=kdJzy1eaxNPZeCpE0TMYYLhJ6UWmkfRDeb_vzngJUoQ,26462
|
47
48
|
modal/io_streams.py,sha256=QkQiizKRzd5bnbKQsap31LJgBYlAnj4-XkV_50xPYX0,15079
|
48
49
|
modal/io_streams.pyi,sha256=bJ7ZLmSmJ0nKoa6r4FJpbqvzdUVa0lEe0Fa-MMpMezU,5071
|
49
|
-
modal/mount.py,sha256=
|
50
|
+
modal/mount.py,sha256=hNoy7J-E2C-CkSmbKldfL_zg8db8nP8cVzRj_35Rsp0,32124
|
50
51
|
modal/mount.pyi,sha256=CmHa7zKSxHA_7-vMQLnGfw_ZXvAvHlafvUEVJcQ1LQA,12535
|
51
52
|
modal/network_file_system.py,sha256=WXdyL7du_fvjvuG6hSAREyJ83sSEP2xSLAIAhBsisdI,14869
|
52
53
|
modal/network_file_system.pyi,sha256=4N3eqMbTSlqmS8VV_aJK-uvrgJC8xnf_YtW5FHfRfc8,8156
|
53
54
|
modal/object.py,sha256=bTeskuY8JFrESjU4_UL_nTwYlBQdOLmVaOX3X6EMxsg,164
|
54
55
|
modal/object.pyi,sha256=kyJkRQcVv3ct7zSAxvvXcuhBVeH914v80uSlqeS7cA4,5632
|
55
|
-
modal/output.py,sha256=
|
56
|
+
modal/output.py,sha256=q4T9uHduunj4NwY-YSwkHGgjZlCXMuJbfQ5UFaAGRAc,1968
|
56
57
|
modal/parallel_map.py,sha256=POBTyiWabe2e4qBNlsjjksiu1AAPEsNqI-mM8cgNFco,16042
|
57
58
|
modal/parallel_map.pyi,sha256=-YKY_bVuQv8B4gtFrHnXtuNV0_JpmU9vqMJzR7beeCU,2524
|
58
|
-
modal/partial_function.py,sha256=
|
59
|
-
modal/partial_function.pyi,sha256=
|
59
|
+
modal/partial_function.py,sha256=KkATL56zEe_Kzp4hDX0c0e6BrXeO8V8mZBjfIs_ldqI,1016
|
60
|
+
modal/partial_function.pyi,sha256=SwjQHTqjdRqoPxIsfNFeiMt-E_IfFECPGlGZPEcDB7E,4649
|
60
61
|
modal/proxy.py,sha256=NrOevrWxG3G7-zlyRzG6BcIvop7AWLeyahZxitbBaOk,1418
|
61
62
|
modal/proxy.pyi,sha256=1OEKIVUyC-xb7fHMzngakQso0nTsK60TVhXtlcMj6Wk,390
|
62
63
|
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -66,7 +67,7 @@ modal/retries.py,sha256=HKR2Q9aNPWkMjQ5nwobqYTuZaSuw0a8lI2zrtY5IW98,5230
|
|
66
67
|
modal/runner.py,sha256=fdUyDGN-bWu_aZBvxBO_MIgEuucsA0PgDKDHBn5k8J0,24451
|
67
68
|
modal/runner.pyi,sha256=RYEYsnofrvVroYefWLhWAy8I_uwXV9fRNuJaVgcNzrg,5278
|
68
69
|
modal/running_app.py,sha256=v61mapYNV1-O-Uaho5EfJlryMLvIT9We0amUOSvSGx8,1188
|
69
|
-
modal/sandbox.py,sha256=
|
70
|
+
modal/sandbox.py,sha256=fPStBypgDjclm388u5v3q26gAub0mP4c1pZYLlrJcUY,31777
|
70
71
|
modal/sandbox.pyi,sha256=qncEvzK76h_ehrs03vlroQyLThWiMsjKhD0DnCNc6zI,22663
|
71
72
|
modal/schedule.py,sha256=0ZFpKs1bOxeo5n3HZjoL7OE2ktsb-_oGtq-WJEPO4tY,2615
|
72
73
|
modal/scheduler_placement.py,sha256=BAREdOY5HzHpzSBqt6jDVR6YC_jYfHMVqOzkyqQfngU,1235
|
@@ -77,25 +78,25 @@ modal/serving.pyi,sha256=ncV-9jY_vZYFnGs5ZnMb3ffrX8LmcLdIMHBC56xRbtE,1711
|
|
77
78
|
modal/snapshot.py,sha256=6rQvDP3iX9hdiAudKTy0-m0JESt4kk0q2gusXbaRA-8,1279
|
78
79
|
modal/snapshot.pyi,sha256=Ypd4NKsjOTnnnqXyTGGLKq5lkocRrUURYjY5Pi67_qA,670
|
79
80
|
modal/stream_type.py,sha256=A6320qoAAWhEfwOCZfGtymQTu5AfLfJXXgARqooTPvY,417
|
80
|
-
modal/token_flow.py,sha256=
|
81
|
+
modal/token_flow.py,sha256=APNPQhuqy2avu6IY26U6OiN7erRhpo03Ztt1V60_wts,6776
|
81
82
|
modal/token_flow.pyi,sha256=0XV3d-9CGQL3qjPdw3RgwIFVqqxo8Z-u044_mkgAM3o,2064
|
82
83
|
modal/volume.py,sha256=JAWeDvoAG95tMBv-fYIERyHsJPS_X_xGpxRRmYtb6j0,30096
|
83
84
|
modal/volume.pyi,sha256=kTsXarphjZILXci84LQy7EyC84eXUs5-7D62IM5q3eE,12491
|
84
85
|
modal/_runtime/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
85
86
|
modal/_runtime/asgi.py,sha256=vIxpGrCZhdeThwazQckmrqoNKgDQYOyv8emzBHr8CiU,22154
|
86
|
-
modal/_runtime/container_io_manager.py,sha256=
|
87
|
+
modal/_runtime/container_io_manager.py,sha256=3VPj0RWtSdvVZD96l5ZpO8MjhLRjAi_P_ZtpNK3nGn0,43593
|
87
88
|
modal/_runtime/execution_context.py,sha256=E6ofm6j1POXGPxS841X3V7JU6NheVb8OkQc7JpLq4Kg,2712
|
88
89
|
modal/_runtime/gpu_memory_snapshot.py,sha256=tA3m1d1cwnmHpvpCeN_WijDd6n8byn7LWlpicbIxiOI,3144
|
89
90
|
modal/_runtime/telemetry.py,sha256=T1RoAGyjBDr1swiM6pPsGRSITm7LI5FDK18oNXxY08U,5163
|
90
|
-
modal/_runtime/user_code_imports.py,sha256=
|
91
|
+
modal/_runtime/user_code_imports.py,sha256=qDasIvffN3SJjUeT1DHcpN35lWNepnbomS0Z8yD65mA,14740
|
91
92
|
modal/_utils/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
92
93
|
modal/_utils/app_utils.py,sha256=88BT4TPLWfYAQwKTHcyzNQRHg8n9B-QE2UyJs96iV-0,108
|
93
|
-
modal/_utils/async_utils.py,sha256=
|
94
|
-
modal/_utils/blob_utils.py,sha256=
|
94
|
+
modal/_utils/async_utils.py,sha256=5PdDuI1aSwPOI4a3dIvW0DkPqGw6KZN6RtWE18Dzv1E,25079
|
95
|
+
modal/_utils/blob_utils.py,sha256=RB1G6T7eC1Poe-O45qYLaxwCr2jkM-Q6Nexk1J3wk_w,14505
|
95
96
|
modal/_utils/bytes_io_segment_payload.py,sha256=uunxVJS4PE1LojF_UpURMzVK9GuvmYWRqQo_bxEj5TU,3385
|
96
97
|
modal/_utils/deprecation.py,sha256=dycySRBxyZf3ITzEqPNM6MxXTk9-0VVLA8oCPQ5j_Os,3426
|
97
98
|
modal/_utils/docker_utils.py,sha256=h1uETghR40mp_y3fSWuZAfbIASH1HMzuphJHghAL6DU,3722
|
98
|
-
modal/_utils/function_utils.py,sha256=
|
99
|
+
modal/_utils/function_utils.py,sha256=Rmz8GJDie-RW_q2RcTwholEWixS2IQDPBsRBJ3f3ZvU,27302
|
99
100
|
modal/_utils/grpc_testing.py,sha256=H1zHqthv19eGPJz2HKXDyWXWGSqO4BRsxah3L5Xaa8A,8619
|
100
101
|
modal/_utils/grpc_utils.py,sha256=PPB5ay-vXencXNIWPVw5modr3EH7gfq2QPcO5YJ1lMU,7737
|
101
102
|
modal/_utils/hash_utils.py,sha256=zg3J6OGxTFGSFri1qQ12giDz90lWk8bzaxCTUCRtiX4,3034
|
@@ -118,18 +119,18 @@ modal/cli/app.py,sha256=TmUiFKAE1yc6ll8pfl-wZ2lh9crC31Fu_8_YKCX8NJc,7818
|
|
118
119
|
modal/cli/config.py,sha256=QvFsqO4eUOtI7d_pQAOAyfq_ZitjhPtav3C6GIDQcZM,1680
|
119
120
|
modal/cli/container.py,sha256=FYwEgjf93j4NMorAjGbSV98i1wpebqdAeNU1wfrFp1k,3668
|
120
121
|
modal/cli/dict.py,sha256=8Wq3w-UDaywk8EVNdj-ECCNV9TYHqh4kzhUqhhulatM,4593
|
121
|
-
modal/cli/entry_point.py,sha256=
|
122
|
+
modal/cli/entry_point.py,sha256=DzFr75smEi1OSJdGXx1ZaAl-3-4b08QCDUP3tzvApKo,4225
|
122
123
|
modal/cli/environment.py,sha256=Ayddkiq9jdj3XYDJ8ZmUqFpPPH8xajYlbexRkzGtUcg,4334
|
123
124
|
modal/cli/import_refs.py,sha256=YYseLJ6cU_wln7DjVWfKPgEhv77hxfA0klWAkTK_1HA,12672
|
124
125
|
modal/cli/launch.py,sha256=pzQt2QlcrbIUU0MVzWWPAvMQ6MCyqsHZ0X9JcV-sY04,3242
|
125
126
|
modal/cli/network_file_system.py,sha256=eq3JnwjbfFNsJodIyANHL06ByYc3BSavzdmu8C96cHA,7948
|
126
127
|
modal/cli/profile.py,sha256=rLXfjJObfPNjaZvNfHGIKqs7y9bGYyGe-K7V0w-Ni0M,3110
|
127
128
|
modal/cli/queues.py,sha256=6gTu76dzBtPN5eQVsLrvQpuru5jI9ZCWK5Eh8J8XhaM,4498
|
128
|
-
modal/cli/run.py,sha256=
|
129
|
-
modal/cli/secret.py,sha256=
|
129
|
+
modal/cli/run.py,sha256=Wu5P4ERjB4iZ_d4J8nP7KB58qIjL595KnFQkw_pWDik,21761
|
130
|
+
modal/cli/secret.py,sha256=iDsaFUJBq3333ZBVzKPcqyey68w0j82PNddGhRgP2pA,4206
|
130
131
|
modal/cli/token.py,sha256=mxSgOWakXG6N71hQb1ko61XAR9ZGkTMZD-Txn7gmTac,1924
|
131
132
|
modal/cli/utils.py,sha256=hZmjyzcPjDnQSkLvycZD2LhGdcsfdZshs_rOU78EpvI,3717
|
132
|
-
modal/cli/volume.py,sha256=
|
133
|
+
modal/cli/volume.py,sha256=c2IuVNO2yJVaXmZkRh3xwQmznlRTgFoJr_BIzzqtVv0,10251
|
133
134
|
modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
134
135
|
modal/cli/programs/run_jupyter.py,sha256=1X8eQ3gB_IqkJn11Q4dQ9KdIqFVwQQlwkrrSqlFWfPQ,2685
|
135
136
|
modal/cli/programs/vscode.py,sha256=c5jKk1ruuC03X1D-hNc2jtTQqofCBweEZH_qxHjkHGo,3383
|
@@ -145,7 +146,7 @@ modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
|
145
146
|
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
146
147
|
modal_docs/gen_reference_docs.py,sha256=aDcUSSDtAAZ4eeFWyroeIg2TOzyRoYcic-d9Zh9TdLY,6656
|
147
148
|
modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
148
|
-
modal_docs/mdmd/mdmd.py,sha256=
|
149
|
+
modal_docs/mdmd/mdmd.py,sha256=Irx49MCCTlBOP4FBdLR--JrpA3-WhsVeriq0LGgsRic,6232
|
149
150
|
modal_docs/mdmd/signatures.py,sha256=XJaZrK7Mdepk5fdX51A8uENiLFNil85Ud0d4MH8H5f0,3218
|
150
151
|
modal_global_objects/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
151
152
|
modal_global_objects/images/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
@@ -171,10 +172,10 @@ modal_proto/options_pb2_grpc.pyi,sha256=CImmhxHsYnF09iENPoe8S4J-n93jtgUYD2JPAc0y
|
|
171
172
|
modal_proto/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
172
173
|
modal_version/__init__.py,sha256=wiJQ53c-OMs0Xf1UeXOxQ7FwlV1VzIjnX6o-pRYZ_Pk,470
|
173
174
|
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
174
|
-
modal_version/_version_generated.py,sha256=
|
175
|
-
modal-0.73.
|
176
|
-
modal-0.73.
|
177
|
-
modal-0.73.
|
178
|
-
modal-0.73.
|
179
|
-
modal-0.73.
|
180
|
-
modal-0.73.
|
175
|
+
modal_version/_version_generated.py,sha256=uXe2sj5cfIxypnLDmDmNLrwhJ8zb9QYVuha29ACAI8o,149
|
176
|
+
modal-0.73.29.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
177
|
+
modal-0.73.29.dist-info/METADATA,sha256=wPPaPbfClS8_-XLC-fQguOHndNExkDCeZuezdll6Fvk,2330
|
178
|
+
modal-0.73.29.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
179
|
+
modal-0.73.29.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
180
|
+
modal-0.73.29.dist-info/top_level.txt,sha256=1nvYbOSIKcmU50fNrpnQnrrOpj269ei3LzgB6j9xGqg,64
|
181
|
+
modal-0.73.29.dist-info/RECORD,,
|
modal_docs/mdmd/mdmd.py
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|