modal 0.62.16__py3-none-any.whl → 0.72.11__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/__init__.py +17 -13
- modal/__main__.py +41 -3
- modal/_clustered_functions.py +80 -0
- modal/_clustered_functions.pyi +22 -0
- modal/_container_entrypoint.py +420 -937
- modal/_ipython.py +3 -13
- modal/_location.py +17 -10
- modal/_output.py +243 -99
- modal/_pty.py +2 -2
- modal/_resolver.py +55 -59
- modal/_resources.py +51 -0
- modal/_runtime/__init__.py +1 -0
- modal/_runtime/asgi.py +519 -0
- modal/_runtime/container_io_manager.py +1036 -0
- modal/_runtime/execution_context.py +89 -0
- modal/_runtime/telemetry.py +169 -0
- modal/_runtime/user_code_imports.py +356 -0
- modal/_serialization.py +134 -9
- modal/_traceback.py +47 -187
- modal/_tunnel.py +52 -16
- modal/_tunnel.pyi +19 -36
- modal/_utils/app_utils.py +3 -17
- modal/_utils/async_utils.py +479 -100
- modal/_utils/blob_utils.py +157 -186
- modal/_utils/bytes_io_segment_payload.py +97 -0
- modal/_utils/deprecation.py +89 -0
- modal/_utils/docker_utils.py +98 -0
- modal/_utils/function_utils.py +460 -171
- modal/_utils/grpc_testing.py +47 -31
- modal/_utils/grpc_utils.py +62 -109
- modal/_utils/hash_utils.py +61 -19
- modal/_utils/http_utils.py +39 -9
- modal/_utils/logger.py +2 -1
- modal/_utils/mount_utils.py +34 -16
- modal/_utils/name_utils.py +58 -0
- modal/_utils/package_utils.py +14 -1
- modal/_utils/pattern_utils.py +205 -0
- modal/_utils/rand_pb_testing.py +5 -7
- modal/_utils/shell_utils.py +15 -49
- modal/_vendor/a2wsgi_wsgi.py +62 -72
- modal/_vendor/cloudpickle.py +1 -1
- modal/_watcher.py +14 -12
- modal/app.py +1003 -314
- modal/app.pyi +540 -264
- modal/call_graph.py +7 -6
- modal/cli/_download.py +63 -53
- modal/cli/_traceback.py +200 -0
- modal/cli/app.py +205 -45
- modal/cli/config.py +12 -5
- modal/cli/container.py +62 -14
- modal/cli/dict.py +128 -0
- modal/cli/entry_point.py +26 -13
- modal/cli/environment.py +40 -9
- modal/cli/import_refs.py +64 -58
- modal/cli/launch.py +32 -18
- modal/cli/network_file_system.py +64 -83
- modal/cli/profile.py +1 -1
- modal/cli/programs/run_jupyter.py +35 -10
- modal/cli/programs/vscode.py +60 -10
- modal/cli/queues.py +131 -0
- modal/cli/run.py +234 -131
- modal/cli/secret.py +8 -7
- modal/cli/token.py +7 -2
- modal/cli/utils.py +79 -10
- modal/cli/volume.py +110 -109
- modal/client.py +250 -144
- modal/client.pyi +157 -118
- modal/cloud_bucket_mount.py +108 -34
- modal/cloud_bucket_mount.pyi +32 -38
- modal/cls.py +535 -148
- modal/cls.pyi +190 -146
- modal/config.py +41 -19
- modal/container_process.py +177 -0
- modal/container_process.pyi +82 -0
- modal/dict.py +111 -65
- modal/dict.pyi +136 -131
- modal/environments.py +106 -5
- modal/environments.pyi +77 -25
- modal/exception.py +34 -43
- modal/experimental.py +61 -2
- modal/extensions/ipython.py +5 -5
- modal/file_io.py +537 -0
- modal/file_io.pyi +235 -0
- modal/file_pattern_matcher.py +197 -0
- modal/functions.py +906 -911
- modal/functions.pyi +466 -430
- modal/gpu.py +57 -44
- modal/image.py +1089 -479
- modal/image.pyi +584 -228
- modal/io_streams.py +434 -0
- modal/io_streams.pyi +122 -0
- modal/mount.py +314 -101
- modal/mount.pyi +241 -235
- modal/network_file_system.py +92 -92
- modal/network_file_system.pyi +152 -110
- modal/object.py +67 -36
- modal/object.pyi +166 -143
- modal/output.py +63 -0
- modal/parallel_map.py +434 -0
- modal/parallel_map.pyi +75 -0
- modal/partial_function.py +282 -117
- modal/partial_function.pyi +222 -129
- modal/proxy.py +15 -12
- modal/proxy.pyi +3 -8
- modal/queue.py +182 -65
- modal/queue.pyi +218 -118
- modal/requirements/2024.04.txt +29 -0
- modal/requirements/2024.10.txt +16 -0
- modal/requirements/README.md +21 -0
- modal/requirements/base-images.json +22 -0
- modal/retries.py +48 -7
- modal/runner.py +459 -156
- modal/runner.pyi +135 -71
- modal/running_app.py +38 -0
- modal/sandbox.py +514 -236
- modal/sandbox.pyi +397 -169
- modal/schedule.py +4 -4
- modal/scheduler_placement.py +20 -3
- modal/secret.py +56 -31
- modal/secret.pyi +62 -42
- modal/serving.py +51 -56
- modal/serving.pyi +44 -36
- modal/stream_type.py +15 -0
- modal/token_flow.py +5 -3
- modal/token_flow.pyi +37 -32
- modal/volume.py +285 -157
- modal/volume.pyi +249 -184
- {modal-0.62.16.dist-info → modal-0.72.11.dist-info}/METADATA +7 -7
- modal-0.72.11.dist-info/RECORD +174 -0
- {modal-0.62.16.dist-info → modal-0.72.11.dist-info}/top_level.txt +0 -1
- modal_docs/gen_reference_docs.py +3 -1
- modal_docs/mdmd/mdmd.py +0 -1
- modal_docs/mdmd/signatures.py +5 -2
- modal_global_objects/images/base_images.py +28 -0
- modal_global_objects/mounts/python_standalone.py +2 -2
- modal_proto/__init__.py +1 -1
- modal_proto/api.proto +1288 -533
- modal_proto/api_grpc.py +856 -456
- modal_proto/api_pb2.py +2165 -1157
- modal_proto/api_pb2.pyi +8859 -0
- modal_proto/api_pb2_grpc.py +1674 -855
- modal_proto/api_pb2_grpc.pyi +1416 -0
- modal_proto/modal_api_grpc.py +149 -0
- modal_proto/modal_options_grpc.py +3 -0
- modal_proto/options_pb2.pyi +20 -0
- modal_proto/options_pb2_grpc.pyi +7 -0
- modal_proto/py.typed +0 -0
- modal_version/__init__.py +1 -1
- modal_version/_version_generated.py +2 -2
- modal/_asgi.py +0 -370
- modal/_container_entrypoint.pyi +0 -378
- modal/_container_exec.py +0 -128
- modal/_sandbox_shell.py +0 -49
- modal/shared_volume.py +0 -23
- modal/shared_volume.pyi +0 -24
- modal/stub.py +0 -783
- modal/stub.pyi +0 -332
- modal-0.62.16.dist-info/RECORD +0 -198
- modal_global_objects/images/conda.py +0 -15
- modal_global_objects/images/debian_slim.py +0 -15
- modal_global_objects/images/micromamba.py +0 -15
- test/__init__.py +0 -1
- test/aio_test.py +0 -12
- test/async_utils_test.py +0 -262
- test/blob_test.py +0 -67
- test/cli_imports_test.py +0 -149
- test/cli_test.py +0 -659
- test/client_test.py +0 -194
- test/cls_test.py +0 -630
- test/config_test.py +0 -137
- test/conftest.py +0 -1420
- test/container_app_test.py +0 -32
- test/container_test.py +0 -1389
- test/cpu_test.py +0 -23
- test/decorator_test.py +0 -85
- test/deprecation_test.py +0 -34
- test/dict_test.py +0 -33
- test/e2e_test.py +0 -68
- test/error_test.py +0 -7
- test/function_serialization_test.py +0 -32
- test/function_test.py +0 -653
- test/function_utils_test.py +0 -101
- test/gpu_test.py +0 -159
- test/grpc_utils_test.py +0 -141
- test/helpers.py +0 -42
- test/image_test.py +0 -669
- test/live_reload_test.py +0 -80
- test/lookup_test.py +0 -70
- test/mdmd_test.py +0 -329
- test/mount_test.py +0 -162
- test/mounted_files_test.py +0 -329
- test/network_file_system_test.py +0 -181
- test/notebook_test.py +0 -66
- test/object_test.py +0 -41
- test/package_utils_test.py +0 -25
- test/queue_test.py +0 -97
- test/resolver_test.py +0 -58
- test/retries_test.py +0 -67
- test/runner_test.py +0 -85
- test/sandbox_test.py +0 -191
- test/schedule_test.py +0 -15
- test/scheduler_placement_test.py +0 -29
- test/secret_test.py +0 -78
- test/serialization_test.py +0 -42
- test/stub_composition_test.py +0 -10
- test/stub_test.py +0 -360
- test/test_asgi_wrapper.py +0 -234
- test/token_flow_test.py +0 -18
- test/traceback_test.py +0 -135
- test/tunnel_test.py +0 -29
- test/utils_test.py +0 -88
- test/version_test.py +0 -14
- test/volume_test.py +0 -341
- test/watcher_test.py +0 -30
- test/webhook_test.py +0 -146
- /modal/{requirements.312.txt → requirements/2023.12.312.txt} +0 -0
- /modal/{requirements.txt → requirements/2023.12.txt} +0 -0
- {modal-0.62.16.dist-info → modal-0.72.11.dist-info}/LICENSE +0 -0
- {modal-0.62.16.dist-info → modal-0.72.11.dist-info}/WHEEL +0 -0
- {modal-0.62.16.dist-info → modal-0.72.11.dist-info}/entry_points.txt +0 -0
modal/stub.pyi
DELETED
@@ -1,332 +0,0 @@
|
|
1
|
-
import modal._output
|
2
|
-
import modal._utils.function_utils
|
3
|
-
import modal.app
|
4
|
-
import modal.client
|
5
|
-
import modal.cls
|
6
|
-
import modal.functions
|
7
|
-
import modal.gpu
|
8
|
-
import modal.image
|
9
|
-
import modal.mount
|
10
|
-
import modal.network_file_system
|
11
|
-
import modal.object
|
12
|
-
import modal.proxy
|
13
|
-
import modal.retries
|
14
|
-
import modal.sandbox
|
15
|
-
import modal.schedule
|
16
|
-
import modal.scheduler_placement
|
17
|
-
import modal.secret
|
18
|
-
import modal.volume
|
19
|
-
import modal_proto.api_pb2
|
20
|
-
import os
|
21
|
-
import pathlib
|
22
|
-
import synchronicity.combined_types
|
23
|
-
import typing
|
24
|
-
import typing_extensions
|
25
|
-
|
26
|
-
class _LocalEntrypoint:
|
27
|
-
_info: modal._utils.function_utils.FunctionInfo
|
28
|
-
_stub: _Stub
|
29
|
-
|
30
|
-
def __init__(self, info, stub):
|
31
|
-
...
|
32
|
-
|
33
|
-
def __call__(self, *args, **kwargs):
|
34
|
-
...
|
35
|
-
|
36
|
-
@property
|
37
|
-
def info(self) -> modal._utils.function_utils.FunctionInfo:
|
38
|
-
...
|
39
|
-
|
40
|
-
@property
|
41
|
-
def stub(self) -> _Stub:
|
42
|
-
...
|
43
|
-
|
44
|
-
|
45
|
-
class LocalEntrypoint:
|
46
|
-
_info: modal._utils.function_utils.FunctionInfo
|
47
|
-
_stub: Stub
|
48
|
-
|
49
|
-
def __init__(self, info, stub):
|
50
|
-
...
|
51
|
-
|
52
|
-
def __call__(self, *args, **kwargs):
|
53
|
-
...
|
54
|
-
|
55
|
-
@property
|
56
|
-
def info(self) -> modal._utils.function_utils.FunctionInfo:
|
57
|
-
...
|
58
|
-
|
59
|
-
@property
|
60
|
-
def stub(self) -> Stub:
|
61
|
-
...
|
62
|
-
|
63
|
-
|
64
|
-
def check_sequence(items: typing.Sequence[typing.Any], item_type: typing.Type[typing.Any], error_msg: str):
|
65
|
-
...
|
66
|
-
|
67
|
-
|
68
|
-
CLS_T = typing.TypeVar("CLS_T", bound="typing.Type")
|
69
|
-
|
70
|
-
class _Stub:
|
71
|
-
_name: typing.Union[str, None]
|
72
|
-
_description: typing.Union[str, None]
|
73
|
-
_indexed_objects: typing.Dict[str, modal.object._Object]
|
74
|
-
_function_mounts: typing.Dict[str, modal.mount._Mount]
|
75
|
-
_mounts: typing.Sequence[modal.mount._Mount]
|
76
|
-
_secrets: typing.Sequence[modal.secret._Secret]
|
77
|
-
_volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume._Volume]
|
78
|
-
_web_endpoints: typing.List[str]
|
79
|
-
_local_entrypoints: typing.Dict[str, _LocalEntrypoint]
|
80
|
-
_container_app: typing.Union[modal.app._ContainerApp, None]
|
81
|
-
_local_app: typing.Union[modal.app._LocalApp, None]
|
82
|
-
_all_stubs: typing.ClassVar[typing.Dict[typing.Union[str, None], typing.List[_Stub]]]
|
83
|
-
|
84
|
-
def __init__(self, name: typing.Union[str, None] = None, *, image: typing.Union[modal.image._Image, None] = None, mounts: typing.Sequence[modal.mount._Mount] = [], secrets: typing.Sequence[modal.secret._Secret] = [], volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume._Volume] = {}, **indexed_objects: modal.object._Object) -> None:
|
85
|
-
...
|
86
|
-
|
87
|
-
@property
|
88
|
-
def name(self) -> typing.Union[str, None]:
|
89
|
-
...
|
90
|
-
|
91
|
-
@property
|
92
|
-
def is_interactive(self) -> bool:
|
93
|
-
...
|
94
|
-
|
95
|
-
@property
|
96
|
-
def app_id(self) -> typing.Union[str, None]:
|
97
|
-
...
|
98
|
-
|
99
|
-
@property
|
100
|
-
def description(self) -> typing.Union[str, None]:
|
101
|
-
...
|
102
|
-
|
103
|
-
def set_description(self, description: str):
|
104
|
-
...
|
105
|
-
|
106
|
-
def _validate_blueprint_value(self, key: str, value: typing.Any):
|
107
|
-
...
|
108
|
-
|
109
|
-
def _add_object(self, tag, obj):
|
110
|
-
...
|
111
|
-
|
112
|
-
def __getitem__(self, tag: str):
|
113
|
-
...
|
114
|
-
|
115
|
-
def __setitem__(self, tag: str, obj: modal.object._Object):
|
116
|
-
...
|
117
|
-
|
118
|
-
def __getattr__(self, tag: str) -> modal.object._Object:
|
119
|
-
...
|
120
|
-
|
121
|
-
def __setattr__(self, tag: str, obj: modal.object._Object):
|
122
|
-
...
|
123
|
-
|
124
|
-
@property
|
125
|
-
def image(self) -> modal.image._Image:
|
126
|
-
...
|
127
|
-
|
128
|
-
@image.setter
|
129
|
-
def image(self, value):
|
130
|
-
...
|
131
|
-
|
132
|
-
def get_objects(self) -> typing.List[typing.Tuple[str, modal.object._Object]]:
|
133
|
-
...
|
134
|
-
|
135
|
-
def _uncreate_all_objects(self):
|
136
|
-
...
|
137
|
-
|
138
|
-
def is_inside(self, image: typing.Union[modal.image._Image, None] = None):
|
139
|
-
...
|
140
|
-
|
141
|
-
def _set_local_app(self, app: modal.app._LocalApp) -> typing.AsyncContextManager[None]:
|
142
|
-
...
|
143
|
-
|
144
|
-
def run(self, client: typing.Union[modal.client._Client, None] = None, stdout=None, show_progress: bool = True, detach: bool = False, output_mgr: typing.Union[modal._output.OutputManager, None] = None) -> typing.AsyncContextManager[_Stub]:
|
145
|
-
...
|
146
|
-
|
147
|
-
def _get_default_image(self):
|
148
|
-
...
|
149
|
-
|
150
|
-
def _get_watch_mounts(self):
|
151
|
-
...
|
152
|
-
|
153
|
-
def _add_function(self, function: modal.functions._Function):
|
154
|
-
...
|
155
|
-
|
156
|
-
@property
|
157
|
-
def registered_functions(self) -> typing.Dict[str, modal.functions._Function]:
|
158
|
-
...
|
159
|
-
|
160
|
-
@property
|
161
|
-
def registered_classes(self) -> typing.Dict[str, modal.functions._Function]:
|
162
|
-
...
|
163
|
-
|
164
|
-
@property
|
165
|
-
def registered_entrypoints(self) -> typing.Dict[str, _LocalEntrypoint]:
|
166
|
-
...
|
167
|
-
|
168
|
-
@property
|
169
|
-
def indexed_objects(self) -> typing.Dict[str, modal.object._Object]:
|
170
|
-
...
|
171
|
-
|
172
|
-
@property
|
173
|
-
def registered_web_endpoints(self) -> typing.List[str]:
|
174
|
-
...
|
175
|
-
|
176
|
-
def local_entrypoint(self, _warn_parentheses_missing=None, *, name: typing.Union[str, None] = None) -> typing.Callable[[typing.Callable[..., typing.Any]], None]:
|
177
|
-
...
|
178
|
-
|
179
|
-
def function(self, _warn_parentheses_missing=None, *, image: typing.Union[modal.image._Image, None] = None, schedule: typing.Union[modal.schedule.Schedule, None] = None, secrets: typing.Sequence[modal.secret._Secret] = (), gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, serialized: bool = False, mounts: typing.Sequence[modal.mount._Mount] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system._NetworkFileSystem] = {}, volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume._Volume] = {}, allow_cross_region_volumes: bool = False, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, proxy: typing.Union[modal.proxy._Proxy, None] = None, retries: typing.Union[int, modal.retries.Retries, None] = None, concurrency_limit: typing.Union[int, None] = None, allow_concurrent_inputs: typing.Union[int, None] = None, container_idle_timeout: typing.Union[int, None] = None, timeout: typing.Union[int, None] = None, keep_warm: typing.Union[int, None] = None, name: typing.Union[str, None] = None, is_generator: typing.Union[bool, None] = None, cloud: typing.Union[str, None] = None, enable_memory_snapshot: bool = False, checkpointing_enabled: typing.Union[bool, None] = None, block_network: bool = False, max_inputs: typing.Union[int, None] = None, interactive: bool = False, secret: typing.Union[modal.secret._Secret, None] = None, _allow_background_volume_commits: bool = False, _experimental_boost: bool = False, _experimental_scheduler: bool = False, _experimental_scheduler_placement: typing.Union[modal.scheduler_placement.SchedulerPlacement, None] = None) -> typing.Callable[..., modal.functions._Function]:
|
180
|
-
...
|
181
|
-
|
182
|
-
def cls(self, _warn_parentheses_missing=None, *, image: typing.Union[modal.image._Image, None] = None, secrets: typing.Sequence[modal.secret._Secret] = (), gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, serialized: bool = False, mounts: typing.Sequence[modal.mount._Mount] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system._NetworkFileSystem] = {}, volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume._Volume] = {}, allow_cross_region_volumes: bool = False, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, proxy: typing.Union[modal.proxy._Proxy, None] = None, retries: typing.Union[int, modal.retries.Retries, None] = None, concurrency_limit: typing.Union[int, None] = None, allow_concurrent_inputs: typing.Union[int, None] = None, container_idle_timeout: typing.Union[int, None] = None, timeout: typing.Union[int, None] = None, keep_warm: typing.Union[int, None] = None, cloud: typing.Union[str, None] = None, enable_memory_snapshot: bool = False, checkpointing_enabled: typing.Union[bool, None] = None, block_network: bool = False, _allow_background_volume_commits: bool = False, max_inputs: typing.Union[int, None] = None, interactive: bool = False, secret: typing.Union[modal.secret._Secret, None] = None, _experimental_boost: bool = False, _experimental_scheduler: bool = False, _experimental_scheduler_placement: typing.Union[modal.scheduler_placement.SchedulerPlacement, None] = None) -> typing.Callable[[CLS_T], modal.cls._Cls]:
|
183
|
-
...
|
184
|
-
|
185
|
-
async def spawn_sandbox(self, *entrypoint_args: str, image: typing.Union[modal.image._Image, None] = None, mounts: typing.Sequence[modal.mount._Mount] = (), secrets: typing.Sequence[modal.secret._Secret] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system._NetworkFileSystem] = {}, timeout: typing.Union[int, None] = None, workdir: typing.Union[str, None] = None, gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, cloud: typing.Union[str, None] = None, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, block_network: bool = False, volumes: typing.Dict[typing.Union[str, os.PathLike], modal.volume._Volume] = {}, _allow_background_volume_commits: bool = False, pty_info: typing.Union[modal_proto.api_pb2.PTYInfo, None] = None) -> modal.sandbox._Sandbox:
|
186
|
-
...
|
187
|
-
|
188
|
-
def include(self, /, other_stub: _Stub):
|
189
|
-
...
|
190
|
-
|
191
|
-
|
192
|
-
class Stub:
|
193
|
-
_name: typing.Union[str, None]
|
194
|
-
_description: typing.Union[str, None]
|
195
|
-
_indexed_objects: typing.Dict[str, modal.object.Object]
|
196
|
-
_function_mounts: typing.Dict[str, modal.mount.Mount]
|
197
|
-
_mounts: typing.Sequence[modal.mount.Mount]
|
198
|
-
_secrets: typing.Sequence[modal.secret.Secret]
|
199
|
-
_volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume.Volume]
|
200
|
-
_web_endpoints: typing.List[str]
|
201
|
-
_local_entrypoints: typing.Dict[str, LocalEntrypoint]
|
202
|
-
_container_app: typing.Union[modal.app.ContainerApp, None]
|
203
|
-
_local_app: typing.Union[modal.app.LocalApp, None]
|
204
|
-
_all_stubs: typing.ClassVar[typing.Dict[typing.Union[str, None], typing.List[Stub]]]
|
205
|
-
|
206
|
-
def __init__(self, name: typing.Union[str, None] = None, *, image: typing.Union[modal.image.Image, None] = None, mounts: typing.Sequence[modal.mount.Mount] = [], secrets: typing.Sequence[modal.secret.Secret] = [], volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume.Volume] = {}, **indexed_objects: modal.object.Object) -> None:
|
207
|
-
...
|
208
|
-
|
209
|
-
@property
|
210
|
-
def name(self) -> typing.Union[str, None]:
|
211
|
-
...
|
212
|
-
|
213
|
-
@property
|
214
|
-
def is_interactive(self) -> bool:
|
215
|
-
...
|
216
|
-
|
217
|
-
@property
|
218
|
-
def app_id(self) -> typing.Union[str, None]:
|
219
|
-
...
|
220
|
-
|
221
|
-
@property
|
222
|
-
def description(self) -> typing.Union[str, None]:
|
223
|
-
...
|
224
|
-
|
225
|
-
def set_description(self, description: str):
|
226
|
-
...
|
227
|
-
|
228
|
-
def _validate_blueprint_value(self, key: str, value: typing.Any):
|
229
|
-
...
|
230
|
-
|
231
|
-
def _add_object(self, tag, obj):
|
232
|
-
...
|
233
|
-
|
234
|
-
def __getitem__(self, tag: str):
|
235
|
-
...
|
236
|
-
|
237
|
-
def __setitem__(self, tag: str, obj: modal.object.Object):
|
238
|
-
...
|
239
|
-
|
240
|
-
def __getattr__(self, tag: str) -> modal.object.Object:
|
241
|
-
...
|
242
|
-
|
243
|
-
def __setattr__(self, tag: str, obj: modal.object.Object):
|
244
|
-
...
|
245
|
-
|
246
|
-
@property
|
247
|
-
def image(self) -> modal.image.Image:
|
248
|
-
...
|
249
|
-
|
250
|
-
@image.setter
|
251
|
-
def image(self, value):
|
252
|
-
...
|
253
|
-
|
254
|
-
def get_objects(self) -> typing.List[typing.Tuple[str, modal.object.Object]]:
|
255
|
-
...
|
256
|
-
|
257
|
-
def _uncreate_all_objects(self):
|
258
|
-
...
|
259
|
-
|
260
|
-
def is_inside(self, image: typing.Union[modal.image.Image, None] = None):
|
261
|
-
...
|
262
|
-
|
263
|
-
class ___set_local_app_spec(typing_extensions.Protocol):
|
264
|
-
def __call__(self, app: modal.app.LocalApp) -> synchronicity.combined_types.AsyncAndBlockingContextManager[None]:
|
265
|
-
...
|
266
|
-
|
267
|
-
def aio(self, app: modal.app.LocalApp) -> typing.AsyncContextManager[None]:
|
268
|
-
...
|
269
|
-
|
270
|
-
_set_local_app: ___set_local_app_spec
|
271
|
-
|
272
|
-
class __run_spec(typing_extensions.Protocol):
|
273
|
-
def __call__(self, client: typing.Union[modal.client.Client, None] = None, stdout=None, show_progress: bool = True, detach: bool = False, output_mgr: typing.Union[modal._output.OutputManager, None] = None) -> synchronicity.combined_types.AsyncAndBlockingContextManager[Stub]:
|
274
|
-
...
|
275
|
-
|
276
|
-
def aio(self, client: typing.Union[modal.client.Client, None] = None, stdout=None, show_progress: bool = True, detach: bool = False, output_mgr: typing.Union[modal._output.OutputManager, None] = None) -> typing.AsyncContextManager[Stub]:
|
277
|
-
...
|
278
|
-
|
279
|
-
run: __run_spec
|
280
|
-
|
281
|
-
def _get_default_image(self):
|
282
|
-
...
|
283
|
-
|
284
|
-
def _get_watch_mounts(self):
|
285
|
-
...
|
286
|
-
|
287
|
-
def _add_function(self, function: modal.functions.Function):
|
288
|
-
...
|
289
|
-
|
290
|
-
@property
|
291
|
-
def registered_functions(self) -> typing.Dict[str, modal.functions.Function]:
|
292
|
-
...
|
293
|
-
|
294
|
-
@property
|
295
|
-
def registered_classes(self) -> typing.Dict[str, modal.functions.Function]:
|
296
|
-
...
|
297
|
-
|
298
|
-
@property
|
299
|
-
def registered_entrypoints(self) -> typing.Dict[str, LocalEntrypoint]:
|
300
|
-
...
|
301
|
-
|
302
|
-
@property
|
303
|
-
def indexed_objects(self) -> typing.Dict[str, modal.object.Object]:
|
304
|
-
...
|
305
|
-
|
306
|
-
@property
|
307
|
-
def registered_web_endpoints(self) -> typing.List[str]:
|
308
|
-
...
|
309
|
-
|
310
|
-
def local_entrypoint(self, _warn_parentheses_missing=None, *, name: typing.Union[str, None] = None) -> typing.Callable[[typing.Callable[..., typing.Any]], None]:
|
311
|
-
...
|
312
|
-
|
313
|
-
def function(self, _warn_parentheses_missing=None, *, image: typing.Union[modal.image.Image, None] = None, schedule: typing.Union[modal.schedule.Schedule, None] = None, secrets: typing.Sequence[modal.secret.Secret] = (), gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, serialized: bool = False, mounts: typing.Sequence[modal.mount.Mount] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system.NetworkFileSystem] = {}, volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume.Volume] = {}, allow_cross_region_volumes: bool = False, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, proxy: typing.Union[modal.proxy.Proxy, None] = None, retries: typing.Union[int, modal.retries.Retries, None] = None, concurrency_limit: typing.Union[int, None] = None, allow_concurrent_inputs: typing.Union[int, None] = None, container_idle_timeout: typing.Union[int, None] = None, timeout: typing.Union[int, None] = None, keep_warm: typing.Union[int, None] = None, name: typing.Union[str, None] = None, is_generator: typing.Union[bool, None] = None, cloud: typing.Union[str, None] = None, enable_memory_snapshot: bool = False, checkpointing_enabled: typing.Union[bool, None] = None, block_network: bool = False, max_inputs: typing.Union[int, None] = None, interactive: bool = False, secret: typing.Union[modal.secret.Secret, None] = None, _allow_background_volume_commits: bool = False, _experimental_boost: bool = False, _experimental_scheduler: bool = False, _experimental_scheduler_placement: typing.Union[modal.scheduler_placement.SchedulerPlacement, None] = None) -> typing.Callable[..., modal.functions.Function]:
|
314
|
-
...
|
315
|
-
|
316
|
-
def cls(self, _warn_parentheses_missing=None, *, image: typing.Union[modal.image.Image, None] = None, secrets: typing.Sequence[modal.secret.Secret] = (), gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, serialized: bool = False, mounts: typing.Sequence[modal.mount.Mount] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system.NetworkFileSystem] = {}, volumes: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.volume.Volume] = {}, allow_cross_region_volumes: bool = False, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, proxy: typing.Union[modal.proxy.Proxy, None] = None, retries: typing.Union[int, modal.retries.Retries, None] = None, concurrency_limit: typing.Union[int, None] = None, allow_concurrent_inputs: typing.Union[int, None] = None, container_idle_timeout: typing.Union[int, None] = None, timeout: typing.Union[int, None] = None, keep_warm: typing.Union[int, None] = None, cloud: typing.Union[str, None] = None, enable_memory_snapshot: bool = False, checkpointing_enabled: typing.Union[bool, None] = None, block_network: bool = False, _allow_background_volume_commits: bool = False, max_inputs: typing.Union[int, None] = None, interactive: bool = False, secret: typing.Union[modal.secret.Secret, None] = None, _experimental_boost: bool = False, _experimental_scheduler: bool = False, _experimental_scheduler_placement: typing.Union[modal.scheduler_placement.SchedulerPlacement, None] = None) -> typing.Callable[[CLS_T], modal.cls.Cls]:
|
317
|
-
...
|
318
|
-
|
319
|
-
class __spawn_sandbox_spec(typing_extensions.Protocol):
|
320
|
-
def __call__(self, *entrypoint_args: str, image: typing.Union[modal.image.Image, None] = None, mounts: typing.Sequence[modal.mount.Mount] = (), secrets: typing.Sequence[modal.secret.Secret] = (), network_file_systems: typing.Dict[typing.Union[str, pathlib.PurePosixPath], modal.network_file_system.NetworkFileSystem] = {}, timeout: typing.Union[int, None] = None, workdir: typing.Union[str, None] = None, gpu: typing.Union[None, bool, str, modal.gpu._GPUConfig] = None, cloud: typing.Union[str, None] = None, cpu: typing.Union[float, None] = None, memory: typing.Union[int, None] = None, block_network: bool = False, volumes: typing.Dict[typing.Union[str, os.PathLike], modal.volume.Volume] = {}, _allow_background_volume_commits: bool = False, pty_info: typing.Union[modal_proto.api_pb2.PTYInfo, None] = None) -> modal.sandbox.Sandbox:
|
321
|
-
...
|
322
|
-
|
323
|
-
async def aio(self, *args, **kwargs) -> modal.sandbox.Sandbox:
|
324
|
-
...
|
325
|
-
|
326
|
-
spawn_sandbox: __spawn_sandbox_spec
|
327
|
-
|
328
|
-
def include(self, other_stub: Stub):
|
329
|
-
...
|
330
|
-
|
331
|
-
|
332
|
-
_default_image: modal.image._Image
|
modal-0.62.16.dist-info/RECORD
DELETED
@@ -1,198 +0,0 @@
|
|
1
|
-
modal/__init__.py,sha256=IM8hIP9NlXodRITGUlnQDpnyGuOmmJEo7M6Ci7FVQY8,2102
|
2
|
-
modal/__main__.py,sha256=EKalcwy_6N0L5iqIvlYpXihi3zxy9HNuUMvnbraoTrk,1141
|
3
|
-
modal/_asgi.py,sha256=CEiJv4CBgJ30UtZ6KTlisNSwRJswV_ccDTMUDUn-g_8,15476
|
4
|
-
modal/_container_entrypoint.py,sha256=llVFRvR9h3eEwn_bF0mVtueJyqswVWk3rewk7XDR9n4,52143
|
5
|
-
modal/_container_entrypoint.pyi,sha256=pYKqWTac9q1VPQT6D62YOok6mwMIvgbGWv5wx5MYGek,11148
|
6
|
-
modal/_container_exec.py,sha256=FiaSBUD0UkQRF8hW0AFf0rbqC8lb87f3EGeg7Mr5dx4,4349
|
7
|
-
modal/_ipython.py,sha256=HF_DYy0e0qM9WnGDmTY30s1RxzGya9GeORCauCEpRaE,450
|
8
|
-
modal/_location.py,sha256=_SdCPzVOl7HRwLWIxzTJjhdpOo1sIl4flfEJ-bAbiDE,929
|
9
|
-
modal/_output.py,sha256=1GXKp-Qr-C5oe0e4A5epTgcIFhcp5Cko3HG_ircLFWg,20565
|
10
|
-
modal/_proxy_tunnel.py,sha256=gnKyCfmVB7x2d1A6c-JDysNIP3kEFxmXzhcXhPrzPn0,1906
|
11
|
-
modal/_pty.py,sha256=GhzrHKZpoI-YHMDN7LoySlSYLpoJ4yGPSF-fqiNsFrM,1336
|
12
|
-
modal/_resolver.py,sha256=6UnL73FE4nvLX6uSATiUmhvf-1gb-8-kYcf9X6Vp3i8,7081
|
13
|
-
modal/_sandbox_shell.py,sha256=OtkeMqOymFVqDBWt3kmT6_4mslPu0ZCfjqYjwUb6cGE,1658
|
14
|
-
modal/_serialization.py,sha256=nC2-Wz4tyg1va_4l2SutdiLaW0glmONxxnf4er0E4eY,12329
|
15
|
-
modal/_traceback.py,sha256=l6y-flU7rQK3YelSthHv4Paurw3rA5q9KofBRRVHCVM,10029
|
16
|
-
modal/_tunnel.py,sha256=acWThUm-ct-Ry_nvytxEhCH-djdttGC_qbDdz2y4ddM,5073
|
17
|
-
modal/_tunnel.pyi,sha256=MhcFhkpt-Fo9dA59qhXtoNA9ktyJzwtmGj0vWaUdFiM,1337
|
18
|
-
modal/_watcher.py,sha256=RWkOgkg3FXpa1RgNr86ZrdrMpD9RB6I1_uuUMy7_yjY,3609
|
19
|
-
modal/app.py,sha256=P_0BnKKEPZ1JJ4yjG1ovf9bSYAAbcwEBKO45ywRgU-s,15203
|
20
|
-
modal/app.pyi,sha256=EZKG1bKIGHm6ALhOGTx-8tBo5_uMfezoof68DVStp0c,8046
|
21
|
-
modal/call_graph.py,sha256=KhqmbJPlcpL-PO0N_lrK8VHoXK_xAHq5IhZ9A9rW9Zk,2524
|
22
|
-
modal/client.py,sha256=gqgWznXUh_JLOBlIUCR2TmKSDe38CMw902E041QH2eA,10729
|
23
|
-
modal/client.pyi,sha256=dpGbpW7xB8PbWmEc9t_qDfa6PVB877oAVRLSaD14xo4,3724
|
24
|
-
modal/cloud_bucket_mount.py,sha256=gti25rJPIfeapokZixcsQ-f19l0gSDQrRAquSRQPd_I,2942
|
25
|
-
modal/cloud_bucket_mount.pyi,sha256=8J673RncR2-JqjXnXA65O7PZe8VzfU46INEu6k8flkc,1418
|
26
|
-
modal/cls.py,sha256=x-oGCqBZi45-zX1bNIvMsHKmrxOhkZZciwrB6B9g2IA,12799
|
27
|
-
modal/cls.pyi,sha256=3cpx8HcGgRImPn6fsaq9GSWKicEc_p__2UK2q5xP_Z8,6482
|
28
|
-
modal/config.py,sha256=8FfI-0LTPNa0kSz5lPLjQQBnlc27uOF30M-GRH1tRrM,9934
|
29
|
-
modal/dict.py,sha256=hZsP-5rXnJ3CNKudKHYfhZwSjD8GqWlA8fxDf51Prck,10194
|
30
|
-
modal/dict.pyi,sha256=6BZ8LU4NXrrA_amPbTf1tgPn0FgH64cr2oJnQ4Zr4i4,5809
|
31
|
-
modal/environments.py,sha256=xOsBpVpjyBwA-0PVYAQAV_qUtEMxnYzu3Qpmkcqsbeo,2452
|
32
|
-
modal/environments.pyi,sha256=HMSB6AeWCXeQcrsEyNiWwSzou3lD0G6h6R_4-AFU3gg,1439
|
33
|
-
modal/exception.py,sha256=h-LDmGhdwViC_yxBulNQHJpwhuKnkh40fAbwX-Y4D0c,5865
|
34
|
-
modal/experimental.py,sha256=R-3pEE_X_NB891MIaUxWMkqlW7FMjpmqp2IrI_Tds10,293
|
35
|
-
modal/functions.py,sha256=vG8qmvdl0k1D-BdNmaEVZYsyIs6cUCBqOnQ2Ns1yxKc,63450
|
36
|
-
modal/functions.pyi,sha256=biuQhH788mNh_0tGL3JhM_hkywFme6IuYhrW7tvYhk8,19548
|
37
|
-
modal/gpu.py,sha256=QDfghe3SgOecMXAc8DRbUuGKhhaLeuG8pVEpO-rQvA0,8038
|
38
|
-
modal/image.py,sha256=JWYROEpW1wuX7SO752yXkmTbBw12P4MV2YZHkPPF1jI,62658
|
39
|
-
modal/image.pyi,sha256=0oF1q7sTr5ce2KZxNz5eVNXlP48P8fe8HmUUNsYKBmQ,17457
|
40
|
-
modal/mount.py,sha256=FTsWO_IgcJXlq1tCIWNMH2CuFH-GJT5Tzrz3-zN7cj8,23182
|
41
|
-
modal/mount.pyi,sha256=xhLXRhKkMmlBiSiNNtA03_4S8m1NzUW6TUhM2FpME2k,9588
|
42
|
-
modal/network_file_system.py,sha256=iOj897r3SXbv4fnWiGjusYAyS8VQoIpjRGboFQ9Psds,14356
|
43
|
-
modal/network_file_system.pyi,sha256=2Bp38k_zZsN8UhhsJ8dF3GpKEpXqhcsVNSLG1hIaxJw,6404
|
44
|
-
modal/object.py,sha256=T5ORM_18kMSrVMy2wWsfefXzZbgaGdGdTFOl2c4LSgc,8258
|
45
|
-
modal/object.pyi,sha256=NVYTuTldnB5j8724Qx-dd0R8tWeuXBfh9IGSBMaw2aw,7573
|
46
|
-
modal/partial_function.py,sha256=n4qGXD_DdZlWJNNzjwXoh2ovX3Oxl4XhrfnmzAPBdw4,19988
|
47
|
-
modal/partial_function.pyi,sha256=U-hSV_-KXRoaygOMGd6G3kBaMMbwrHqXctrbgH9t_WY,6270
|
48
|
-
modal/proxy.py,sha256=ey5IlDkPfb0zHGSsIQjgtFsLZwdjCoCp-ecIJlbDo5w,1307
|
49
|
-
modal/proxy.pyi,sha256=Db8boRetc0K7sAUuKw-mg4eoRAX0GB7vyHOHlwuCEs8,428
|
50
|
-
modal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
|
-
modal/queue.py,sha256=uWUC6I3bNhP0ZDPzZRiGA2o_GazzJ2-FwFEjo5SUnA0,13516
|
52
|
-
modal/queue.pyi,sha256=_UgYVd4GoOWvMGlb4BVOGQwoAfM0PhJCLj-ob4lygg4,6637
|
53
|
-
modal/requirements.312.txt,sha256=zWWUVgVQ92GXBKNYYr2-5vn9rlnXcmkqlwlX5u1eTYw,400
|
54
|
-
modal/requirements.txt,sha256=OjsbXFkCSdkzzryZP82Q73osr5wxQ6EUzmGcK7twfkA,502
|
55
|
-
modal/retries.py,sha256=bRDYRTUNFzmjRAggCcoMViqwu-PNnqbokc_QYCf_2nc,3730
|
56
|
-
modal/runner.py,sha256=IAO4oyybCTDSQY-eZFY_VKjifSHz5CUCmKZ5a4bub2E,12295
|
57
|
-
modal/runner.pyi,sha256=3BxRQ-P-5DRvzz_ufaQiu6hpuGbhaomha7JNdaYFEI8,3114
|
58
|
-
modal/sandbox.py,sha256=QzqU08-_iF3W6yKuvzrP11mwvFs8j1zDRhu8EZt22u4,15301
|
59
|
-
modal/sandbox.pyi,sha256=MDvAfhxeQckL6CDYo0ccDl_Dxv2MsdY3pLO06MXav8Y,6466
|
60
|
-
modal/schedule.py,sha256=GjvGQxXhAf0oPvHlwyWsppanel7LrSBuarWEINB_xTY,2621
|
61
|
-
modal/scheduler_placement.py,sha256=15NhfoI1W6qklc8BabM5t19oVNhx9ZbPByaQO7YWSYw,662
|
62
|
-
modal/secret.py,sha256=GKyTm8Bo7DAvCyzG8nSr4bIaWyOf-egEp8CDHlgewe0,8898
|
63
|
-
modal/secret.pyi,sha256=kh0LL3VkJpZHQc71c-6xE2HcnrgSsw9xOHMDWXMatwk,2225
|
64
|
-
modal/serving.py,sha256=h0gPQYbLixn8qP64OLJjAGdcuCbbS2sCZqTn9-0etrA,4681
|
65
|
-
modal/serving.pyi,sha256=S5yq9KgrC2ece1gBzPFlwas2XEFTqnfA6YSDf3bjl5U,1957
|
66
|
-
modal/shared_volume.py,sha256=vB-QLl7EMeusFWT91bVxsmYhzlBNYYYJukLmbF_5Rgk,888
|
67
|
-
modal/shared_volume.pyi,sha256=JSrQyY3M0nn6cbhEV_Xd8AqN7VdzWr2_jsHEGH7HYOQ,405
|
68
|
-
modal/stub.py,sha256=heGve7FVwsnnv4Nn8QLgU_4rL2uEbEb4wKPYg9GlGuQ,33852
|
69
|
-
modal/stub.pyi,sha256=egq2GR_n9FCtKwmb4FwHcQjb41VvarDmRzzy5E-EKhM,17567
|
70
|
-
modal/token_flow.py,sha256=M28JpcN2KCeIaXmlGqtj6NBPcb8qvjEd59_ojR3tMDo,6742
|
71
|
-
modal/token_flow.pyi,sha256=F5_ty7M18ulmLG9I-DJoqcg7CrbEgLDndEWvL_p9708,1890
|
72
|
-
modal/volume.py,sha256=YrZ3bAN_YwXaEknXl-f9XSGGWktjQewewFKBJd6ui0c,24410
|
73
|
-
modal/volume.pyi,sha256=OpJxb-xQX0gCnnfcX-etFwE1zNkF5O1LqpAbfaI59o4,9111
|
74
|
-
modal/_utils/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
75
|
-
modal/_utils/app_utils.py,sha256=Uf9oNKcC6wJg3wcHNygWxMlkXuIMVRYIE5nutDSafkQ,465
|
76
|
-
modal/_utils/async_utils.py,sha256=XqGtqrgtOFsW-NBAIxBgKpGSRXWoBbHPlB-f4LSDN58,12930
|
77
|
-
modal/_utils/blob_utils.py,sha256=oHWcx13W9NNXx0Das_x50jvVbA29jpGnLJM7c74WfxQ,15054
|
78
|
-
modal/_utils/function_utils.py,sha256=Orkons1_SFHxfI7NIE3-O-FhQ9wA1CxjC_or4PR_bm8,13520
|
79
|
-
modal/_utils/grpc_testing.py,sha256=LLwhZ4XJgnWSxnTEFd1OxgUjJ-z91xrMiWm9i44H54Q,7780
|
80
|
-
modal/_utils/grpc_utils.py,sha256=OssGLNWGUpc8PHxd8UvTGvZAalW9BKgJ8phKeZlm_SM,9322
|
81
|
-
modal/_utils/hash_utils.py,sha256=YOE1LZwyqaTQSZajrF-H_5_iJkjxMclJewC0SgH_8xA,1597
|
82
|
-
modal/_utils/http_utils.py,sha256=DGKvrSQxAHjP_LNdM6EaL-TIQPGDX5vt3gcMGg2xkz4,1426
|
83
|
-
modal/_utils/logger.py,sha256=0QvxZpyhhZwKZ5xOcMC9btS_XBE1wAKhtQmISU3gdd0,1311
|
84
|
-
modal/_utils/mount_utils.py,sha256=oAbmYe3RT29EoysJou_NmmmQ5FwxkdWd2qbOK1cZgXA,2327
|
85
|
-
modal/_utils/package_utils.py,sha256=mh5zRXmY9wSmvqaCqFBAdPntLP1EmSkDWJt3GB4ey4s,1640
|
86
|
-
modal/_utils/rand_pb_testing.py,sha256=KESWmCi8lwmRNllknQKM2Y67bm7XwRIFZUW_X2mOesE,3871
|
87
|
-
modal/_utils/shell_utils.py,sha256=_nQIZb4jbwcfjg-qCLgtlXEx2I9TCsmY1G0IQY8fFg4,3633
|
88
|
-
modal/_vendor/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
89
|
-
modal/_vendor/a2wsgi_wsgi.py,sha256=2AnQcS5VhLZxod0trVNxnIYGH1SRbzT3dmJ4owVXzxA,22144
|
90
|
-
modal/_vendor/cloudpickle.py,sha256=CcpkVlNqP3rtFiPK1Ffpub_i0bc7EThN8kU7nC0WXlc,55225
|
91
|
-
modal/_vendor/tblib.py,sha256=g1O7QUDd3sDoLd8YPFltkXkih7r_fyZOjgmGuligv3s,9722
|
92
|
-
modal/cli/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
93
|
-
modal/cli/_download.py,sha256=wPhkhENC24x2cZcdkeaKdAacncNXIhIZcrEUPpdhsEU,2601
|
94
|
-
modal/cli/app.py,sha256=C-4a7FJY6-KbS-blwqHKfk0rKo2zYbcnm6KMwsS_9J4,3068
|
95
|
-
modal/cli/config.py,sha256=cSTH2oy0HTT-8GgH0tMvjqMKk_zYi_UcRGqRXkqCH3w,1294
|
96
|
-
modal/cli/container.py,sha256=LC9VnnidDmMF0lr-MclewJAqqByVdC-CQqi6kdlIwsE,1748
|
97
|
-
modal/cli/entry_point.py,sha256=aUB_UYJeqbapCBN0bX4SyCagk1PIm94-oPan2PIsAwk,3538
|
98
|
-
modal/cli/environment.py,sha256=Jgen64Wu6MUdvX8iDoqE3aJtiCD8PiHVjd3dfDOjT_U,3414
|
99
|
-
modal/cli/import_refs.py,sha256=OEVxtlarpItVu9ifi8V_Lt3Fmr3MKrufnBz0pKH684c,9083
|
100
|
-
modal/cli/launch.py,sha256=FuVWx81zygVwLoR9IAawVKq06r_Y_h8WJL7hibhbWnQ,2144
|
101
|
-
modal/cli/network_file_system.py,sha256=wQDlACewu7ucYRAKvgW2r1SlhTJnXYhsT1tvEVbDf6I,8449
|
102
|
-
modal/cli/profile.py,sha256=s4jCYHwriOorEFCKxeGZoSWX8rXTR_hDTNFZhOA565s,3109
|
103
|
-
modal/cli/run.py,sha256=3Hbztt4nw5PrJdNpextY5jg-m9rON-G4BTZOWc2p0iE,13798
|
104
|
-
modal/cli/secret.py,sha256=oylN52070uWS4NLT8bbHmt93KWV1DBmmuAWds677amE,4181
|
105
|
-
modal/cli/token.py,sha256=Vsxy1ViEfuauWgPnpV8R3mRtKFQUtNmmTc2FYOY82Tg,1875
|
106
|
-
modal/cli/utils.py,sha256=GUG0Vb_hYv6yEGm2Q9fM84PnRniFo2W2FygN7lyWm8c,1330
|
107
|
-
modal/cli/volume.py,sha256=W8dMgYMJ3x7VDRpWJf1bI5lEnn4kNgWyQrVnxiRSMOQ,10871
|
108
|
-
modal/cli/programs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
109
|
-
modal/cli/programs/run_jupyter.py,sha256=UqUIE6PY6RfcdsRgwTRfAq3sLGDZhnwPwK5sxTUdol8,2143
|
110
|
-
modal/cli/programs/vscode.py,sha256=EAmPQ3Q9eKojrvdIvawudNZevJt3IjcdfPTrfIVvSdE,1898
|
111
|
-
modal/extensions/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
112
|
-
modal/extensions/ipython.py,sha256=Q66tGs_PWzuL1M6zZ8yNplv25qHog_aXyy8NED0csh0,988
|
113
|
-
modal_docs/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
114
|
-
modal_docs/gen_cli_docs.py,sha256=c1yfBS_x--gL5bs0N4ihMwqwX8l3IBWSkBAKNNIi6bQ,3801
|
115
|
-
modal_docs/gen_reference_docs.py,sha256=g37KpE5P5ZxZl-vj0ie3Ewx1waTRMKCGIXQ_iYSy0e0,6555
|
116
|
-
modal_docs/mdmd/__init__.py,sha256=svYKtV8HDwDCN86zbdWqyq5T8sMdGDj0PVlzc2tIxDM,28
|
117
|
-
modal_docs/mdmd/mdmd.py,sha256=F9J0KdYVz8WmdLDnInTIlm8SmNZJLAiu3ZAZcxVIZ0k,6268
|
118
|
-
modal_docs/mdmd/signatures.py,sha256=cTum8S5ydixC_HaniltEoTwadtgQU9IJrE4FwF9XzQg,3095
|
119
|
-
modal_global_objects/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
120
|
-
modal_global_objects/images/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
121
|
-
modal_global_objects/images/conda.py,sha256=5Tqd_62p7zGwVezJj1Qp2Vcxtt2WHWVBMzMNbjuNW-M,324
|
122
|
-
modal_global_objects/images/debian_slim.py,sha256=9iB8L0tuEDWas3Mge1jyGvfBXiKsJpcjqJT5M1fWRos,330
|
123
|
-
modal_global_objects/images/micromamba.py,sha256=k5m5P4xSBzliiTrdMITHx6iLhdQGIBuhPnP65JlBdG0,329
|
124
|
-
modal_global_objects/mounts/__init__.py,sha256=MIEP8jhXUeGq_eCjYFcqN5b1bxBM4fdk0VESpjWR0fc,28
|
125
|
-
modal_global_objects/mounts/modal_client_package.py,sha256=W0E_yShsRojPzWm6LtIQqNVolapdnrZkm2hVEQuZK_4,767
|
126
|
-
modal_global_objects/mounts/python_standalone.py,sha256=_vTEX3PECUsatzhDs8lyJmDK0LbFetT1sJB6MIDfFAo,1870
|
127
|
-
modal_proto/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
128
|
-
modal_proto/api.proto,sha256=mqiQAdhf9Q_jzSHdMHGQ42ycmJNgfSyR_t-PHB1OD54,55933
|
129
|
-
modal_proto/api_grpc.py,sha256=JCJBvDBr-xUOP6lPMnRxaHspStbnvyZy1B-Tbg0bV3g,84502
|
130
|
-
modal_proto/api_pb2.py,sha256=dOYf3pZIahvyMMyXARz4mdSFjfw89ZDaheib39ry_pQ,217316
|
131
|
-
modal_proto/api_pb2_grpc.py,sha256=mIorveMRLyaD6i64c4gVXs7nSRBTDaSwwIU-l-MdW78,182540
|
132
|
-
modal_proto/options.proto,sha256=a-siq4swVbZPfaFRXAipRZzGP2bq8OsdUvjlyzAeodQ,488
|
133
|
-
modal_proto/options_grpc.py,sha256=M18X3d-8F_cNYSVM3I25dUTO5rZ0rd-vCCfynfh13Nc,125
|
134
|
-
modal_proto/options_pb2.py,sha256=OC2Oob8Yz_3Gs58hwpS_jSFWpGsWMcxlgXbJCyw3gMk,1827
|
135
|
-
modal_proto/options_pb2_grpc.py,sha256=1oboBPFxaTEXt9Aw7EAj8gXHDCNMhZD2VXqocC9l_gk,159
|
136
|
-
modal_version/__init__.py,sha256=HTM4O90gT-ndgKJIFiD8JRMsdauRAWxc9TDGhBuhkYI,470
|
137
|
-
modal_version/__main__.py,sha256=2FO0yYQQwDTh6udt1h-cBnGd1c4ZyHnHSI4BksxzVac,105
|
138
|
-
modal_version/_version_generated.py,sha256=WW-yrEM7B6dPPz19g7cVK3Ph6mBZmyXSalxRivJZ1sQ,149
|
139
|
-
test/__init__.py,sha256=waLjl5c6IPDhSsdWAm9Bji4e2PVxamYABKAze6CHVXY,28
|
140
|
-
test/aio_test.py,sha256=YOmAEt1WaBh0VxlmCa7gzjM-VEvIQNQ6By959y2WwSk,203
|
141
|
-
test/async_utils_test.py,sha256=1NGazu9XBc1YJYhKPB2vt49dJyDheisA1YDl3iYVlGc,6792
|
142
|
-
test/blob_test.py,sha256=72LpqPJreb0mtLlkS14IN6rsvsQUWr1yrM97uTANUQo,2539
|
143
|
-
test/cli_imports_test.py,sha256=hayUSViVXhY0Vxl-WJ1b3dapx8TGi76I8ql-Snm5bJI,4680
|
144
|
-
test/cli_test.py,sha256=lqbjyOBMH-u_ixx646LUnpqrrDBPBKbGVW2lQn3x5to,26607
|
145
|
-
test/client_test.py,sha256=E9lfLgW9EFnA_stbw0vX8vUA7djIiO5fW-x-JR7tKeM,6426
|
146
|
-
test/cls_test.py,sha256=iiCNpSqmY2S6_tBKSkU2wYAv86u8cwoF0Mvx_hFOZho,15898
|
147
|
-
test/config_test.py,sha256=mhacVtiOB5jAwLjoiDy_IUqP7z3n5DKzW6ugNtwmwnQ,4768
|
148
|
-
test/conftest.py,sha256=dZL3RbDkgQyY1TlTLI_jRWIe0pZCCp8g7kay5DoC9w0,59766
|
149
|
-
test/container_app_test.py,sha256=hWP6DZTZx6zJYudOfNq5386-rEvRGXSdU7XImaUtKYE,895
|
150
|
-
test/container_test.py,sha256=-zS-Pf5ao9mwnTJEFBwT1wvyU4IBRxUiGkxXxBEwCEI,50061
|
151
|
-
test/cpu_test.py,sha256=CoJhxhHH9ZjZh3wnpKFfPku2Vq6xIZJoB6j7O-v2278,405
|
152
|
-
test/decorator_test.py,sha256=MS90m-9IiVzNgTMfr_2pVlemR3nwMQKAhuJktckq9Xo,1871
|
153
|
-
test/deprecation_test.py,sha256=IS_pracoNgt0vuEdLThukZpBkPBX4LUCQP5sAUMhjiY,1055
|
154
|
-
test/dict_test.py,sha256=FQyWl6ZZ0ktUExxh8xBEuu1LCKsworW6Io1bAD2z1Ug,851
|
155
|
-
test/e2e_test.py,sha256=OBBTB8p422PBD0iCoOfNTQQsIs_sX6_SkT1dNv3DiY4,2152
|
156
|
-
test/error_test.py,sha256=bDxKUwE4WJ1qwAfm0Jlzqkb3WetF0YLxplrgjevAv4U,165
|
157
|
-
test/function_serialization_test.py,sha256=1rili8CT3bdOfIMabIAEBn699GTBWqc11xCe-wu5_bY,971
|
158
|
-
test/function_test.py,sha256=pWtmXnVHSVWoSd9EUc37oA2q9HIPX2O-g-J-7NY3mYk,19697
|
159
|
-
test/function_utils_test.py,sha256=AZr8ZPh2h152epv-kn0rWZXwhM8MbPcaVSsOa5thzhY,1892
|
160
|
-
test/gpu_test.py,sha256=i8Zp0NRI6LhXAaPc1hATJJjQLlFtmxZ-RxUEDD6pTls,4611
|
161
|
-
test/grpc_utils_test.py,sha256=me9sGIvRO3bmj4M4UmwU3dbHj5IpKCF7aKy6W5JaP3U,5048
|
162
|
-
test/helpers.py,sha256=-kxMLEjyQeBj6K0AHLrGrzWGw_ZGj2ST4eJaLMX9Rbo,1443
|
163
|
-
test/image_test.py,sha256=DsKT8hiZDnaxkrnzG2YeeLaYfeyz5EgqCpTNnmW79mk,25515
|
164
|
-
test/live_reload_test.py,sha256=8bk6MAbrzUe9spuQ_-0zQE1p4fvLsbAOhL5g41qEJt4,2742
|
165
|
-
test/lookup_test.py,sha256=jcjGt7lIf6iC_HOg0sQE06yg_KcgmHc2pvOYg956chw,2172
|
166
|
-
test/mdmd_test.py,sha256=G3B0986QneKtIrui34hu95h09No9mM06O7mPp2sTm50,5118
|
167
|
-
test/mount_test.py,sha256=-76FWFPCRDJpmG4UXdTWpOwG6YgoF6W94F6MAlFB578,5489
|
168
|
-
test/mounted_files_test.py,sha256=Noasj7JaCVjVAyTEZIjq-MJkelnVES9FpbE2Ldhe8lQ,12471
|
169
|
-
test/network_file_system_test.py,sha256=GxP0fklqOgcXFiqaPnpvN5ZJ8tlqT6e8vNwV9jB9KQI,6073
|
170
|
-
test/notebook_test.py,sha256=IkOFP9Tat8pEazSOV73OU7QMGgOlw3sU_5vTzOigrZU,2157
|
171
|
-
test/object_test.py,sha256=Ncv3B3-Sd78MeHnhmvuyBN1qXRICONW_qckzVndFWc4,1298
|
172
|
-
test/package_utils_test.py,sha256=ic3cJqwVbe7p2jOwnnTuGTwP9aDduz9QueqVwcA8r9I,795
|
173
|
-
test/queue_test.py,sha256=5a8RQMH6DBvm2BvUmbSRGy8JykDtmqOguYTlmvmyJcE,3270
|
174
|
-
test/resolver_test.py,sha256=pmQeuSodsGd8tZg3Ja6bKB8lgg-HNxx6Q1aGn2BjQ0Q,1751
|
175
|
-
test/retries_test.py,sha256=05W440EOUJ-aSNGyu46SgcwCCS-Gt3NkFnI_8m5aRCo,1817
|
176
|
-
test/runner_test.py,sha256=bHI3Med7Vgysx3nic042TOKsQkWArP9uVS5iyIrelc8,2932
|
177
|
-
test/sandbox_test.py,sha256=U2qFwmHmm4rnVDZOU_MP2irqbSx5dtf_pEIXjBdVODQ,5282
|
178
|
-
test/schedule_test.py,sha256=lyj6pHchOg_CqyJNQY8NbRUTfh-RxwAugcX5-P4b-0k,359
|
179
|
-
test/scheduler_placement_test.py,sha256=efdPOIy0MxrrioSzzEBTufM-ea5DXUbYiJ-UTdbj-fE,742
|
180
|
-
test/secret_test.py,sha256=NGa3HrHvu97XlyOquf-ZanqV6s2gclC9lZarkYSu7O8,2527
|
181
|
-
test/serialization_test.py,sha256=d_r5xDn85WkAK3ovMiNGtSxHC90_WM2kS2GSzhRjAnU,1867
|
182
|
-
test/stub_composition_test.py,sha256=8JncwauejwbPM4ttm_IBhp6bQwabVdY7_hf6P_XCV44,558
|
183
|
-
test/stub_test.py,sha256=CzKjxrKCRawOeWroKTq2wEvbhRcuukvgy154LeSMngQ,11284
|
184
|
-
test/test_asgi_wrapper.py,sha256=NzhKYIVVQhL9mTGJh8AWBEv_cTZ1uT9W9ngoLufL09M,7320
|
185
|
-
test/token_flow_test.py,sha256=tbxqsDFzRiMCkxfexDzxbbEomrmNlqJjOpPm8ndPE_c,614
|
186
|
-
test/traceback_test.py,sha256=3FNfnb00ek1gMVj8xcT8veAcyF4j4Fdrz3G9_giljsc,4747
|
187
|
-
test/tunnel_test.py,sha256=5v3FGmYS3VAcQB1xMjoXnmU1jLGvKu27TgFkH42N09w,768
|
188
|
-
test/utils_test.py,sha256=VRBxxpIAl3TvvY8X_rumvqCR-5ZozV2tfm_1Gy4ok6M,2679
|
189
|
-
test/version_test.py,sha256=lii24csueJzXzv0HM0fvHD83N_9FOOFRl-VRmDQZnDA,403
|
190
|
-
test/volume_test.py,sha256=j7B6tKwvURCHAahaeaI-nFFItKXDihui5xWHeXmzSNw,12461
|
191
|
-
test/watcher_test.py,sha256=RdtFZVsdQEdKo7WUy98SK6UJ795u8v--x3nuOTNEghc,1193
|
192
|
-
test/webhook_test.py,sha256=wyG3nG93En4-tXyo3GMMX__0GKfKnH0ZpChssyKlTXI,4205
|
193
|
-
modal-0.62.16.dist-info/LICENSE,sha256=psuoW8kuDP96RQsdhzwOqi6fyWv0ct8CR6Jr7He_P_k,10173
|
194
|
-
modal-0.62.16.dist-info/METADATA,sha256=8lA5hTdu2L-T-qSiuo7Pk0bbd8uCdbXNnkUdvd4Sfi4,2302
|
195
|
-
modal-0.62.16.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
196
|
-
modal-0.62.16.dist-info/entry_points.txt,sha256=An-wYgeEUnm6xzrAP9_NTSTSciYvvEWsMZILtYrvpAI,46
|
197
|
-
modal-0.62.16.dist-info/top_level.txt,sha256=AfUN7pr_AWNHp5av5c2h5ntw_83jrhQ2-ytzdC-S4Z0,69
|
198
|
-
modal-0.62.16.dist-info/RECORD,,
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# Copyright Modal Labs 2022
|
2
|
-
import asyncio
|
3
|
-
import sys
|
4
|
-
|
5
|
-
from modal import Image, Stub
|
6
|
-
|
7
|
-
|
8
|
-
async def main(client=None, python_version=None):
|
9
|
-
stub = Stub(image=Image.conda(python_version))
|
10
|
-
async with stub.run.aio(client=client):
|
11
|
-
pass
|
12
|
-
|
13
|
-
|
14
|
-
if __name__ == "__main__":
|
15
|
-
asyncio.run(main(python_version=sys.argv[1]))
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# Copyright Modal Labs 2022
|
2
|
-
import asyncio
|
3
|
-
import sys
|
4
|
-
|
5
|
-
from modal import Image, Stub
|
6
|
-
|
7
|
-
|
8
|
-
async def main(client=None, python_version=None):
|
9
|
-
stub = Stub(image=Image.debian_slim(python_version))
|
10
|
-
async with stub.run.aio(client=client):
|
11
|
-
pass
|
12
|
-
|
13
|
-
|
14
|
-
if __name__ == "__main__":
|
15
|
-
asyncio.run(main(python_version=sys.argv[1]))
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# Copyright Modal Labs 2022
|
2
|
-
import asyncio
|
3
|
-
import sys
|
4
|
-
|
5
|
-
from modal import Image, Stub
|
6
|
-
|
7
|
-
|
8
|
-
async def main(client=None, python_version=None):
|
9
|
-
stub = Stub(image=Image.micromamba(python_version))
|
10
|
-
async with stub.run.aio(client=client):
|
11
|
-
pass
|
12
|
-
|
13
|
-
|
14
|
-
if __name__ == "__main__":
|
15
|
-
asyncio.run(main(python_version=sys.argv[1]))
|
test/__init__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
# Copyright Modal Labs 2022
|