modal 1.1.1.dev17__tar.gz → 1.1.1.dev19__tar.gz
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.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/PKG-INFO +1 -1
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/client.pyi +2 -2
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/functions.pyi +6 -6
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api.proto +19 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api_grpc.py +16 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api_pb2.py +471 -443
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api_pb2.pyi +59 -1
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api_pb2_grpc.py +33 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/api_pb2_grpc.pyi +10 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/modal_api_grpc.py +1 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_version/__init__.py +1 -1
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/LICENSE +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/README.md +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/__main__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_clustered_functions.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_clustered_functions.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_container_entrypoint.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_functions.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_ipython.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_location.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_object.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_output.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_partial_function.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_pty.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_resolver.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_resources.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/asgi.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/execution_context.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/telemetry.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_serialization.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_traceback.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_tunnel.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_tunnel.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_type_manager.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/app_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/async_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/blob_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/deprecation.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/docker_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/function_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/git_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/hash_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/http_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/logger.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/mount_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/name_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/package_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/shell_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_utils/time_utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_vendor/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_vendor/tblib.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/_watcher.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/app.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/app.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/call_graph.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/_download.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/_traceback.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/app.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/cluster.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/config.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/container.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/dict.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/entry_point.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/environment.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/import_refs.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/launch.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/network_file_system.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/profile.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/programs/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/programs/vscode.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/queues.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/run.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/secret.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/token.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/utils.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cli/volume.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/client.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cls.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/cls.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/config.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/container_process.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/container_process.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/dict.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/dict.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/environments.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/environments.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/exception.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/experimental/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/experimental/flash.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/experimental/flash.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/experimental/ipython.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/file_io.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/file_io.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/file_pattern_matcher.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/functions.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/gpu.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/image.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/image.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/io_streams.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/io_streams.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/mount.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/mount.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/network_file_system.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/network_file_system.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/object.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/object.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/output.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/parallel_map.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/parallel_map.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/partial_function.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/partial_function.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/proxy.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/proxy.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/py.typed +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/queue.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/queue.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/2023.12.312.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/2023.12.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/2024.04.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/2024.10.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/2025.06.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/PREVIEW.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/README.md +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/requirements/base-images.json +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/retries.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/runner.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/runner.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/running_app.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/sandbox.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/sandbox.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/schedule.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/scheduler_placement.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/secret.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/secret.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/serving.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/serving.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/snapshot.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/snapshot.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/stream_type.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/token_flow.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/token_flow.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/volume.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal/volume.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/requires.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal.egg-info/top_level.txt +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/__init__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/modal_options_grpc.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options.proto +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options_grpc.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options_pb2.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options_pb2.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_proto/py.typed +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/modal_version/__main__.py +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/pyproject.toml +0 -0
- {modal-1.1.1.dev17 → modal-1.1.1.dev19}/setup.cfg +0 -0
|
@@ -33,7 +33,7 @@ class _Client:
|
|
|
33
33
|
server_url: str,
|
|
34
34
|
client_type: int,
|
|
35
35
|
credentials: typing.Optional[tuple[str, str]],
|
|
36
|
-
version: str = "1.1.1.
|
|
36
|
+
version: str = "1.1.1.dev19",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -164,7 +164,7 @@ class Client:
|
|
|
164
164
|
server_url: str,
|
|
165
165
|
client_type: int,
|
|
166
166
|
credentials: typing.Optional[tuple[str, str]],
|
|
167
|
-
version: str = "1.1.1.
|
|
167
|
+
version: str = "1.1.1.dev19",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -428,7 +428,7 @@ class Function(
|
|
|
428
428
|
|
|
429
429
|
_call_generator: ___call_generator_spec[typing_extensions.Self]
|
|
430
430
|
|
|
431
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
431
|
+
class __remote_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
432
432
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
433
433
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
434
434
|
...
|
|
@@ -437,7 +437,7 @@ class Function(
|
|
|
437
437
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
438
438
|
...
|
|
439
439
|
|
|
440
|
-
remote: __remote_spec[modal._functions.
|
|
440
|
+
remote: __remote_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
441
441
|
|
|
442
442
|
class __remote_gen_spec(typing_extensions.Protocol[SUPERSELF]):
|
|
443
443
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -464,7 +464,7 @@ class Function(
|
|
|
464
464
|
"""
|
|
465
465
|
...
|
|
466
466
|
|
|
467
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
467
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
468
468
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
469
469
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
470
470
|
|
|
@@ -488,7 +488,7 @@ class Function(
|
|
|
488
488
|
...
|
|
489
489
|
|
|
490
490
|
_experimental_spawn: ___experimental_spawn_spec[
|
|
491
|
-
modal._functions.
|
|
491
|
+
modal._functions.ReturnType, modal._functions.P, typing_extensions.Self
|
|
492
492
|
]
|
|
493
493
|
|
|
494
494
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER, SUPERSELF]):
|
|
@@ -497,7 +497,7 @@ class Function(
|
|
|
497
497
|
|
|
498
498
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P, typing_extensions.Self]
|
|
499
499
|
|
|
500
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
500
|
+
class __spawn_spec(typing_extensions.Protocol[ReturnType_INNER, P_INNER, SUPERSELF]):
|
|
501
501
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
502
502
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
503
503
|
|
|
@@ -518,7 +518,7 @@ class Function(
|
|
|
518
518
|
"""
|
|
519
519
|
...
|
|
520
520
|
|
|
521
|
-
spawn: __spawn_spec[modal._functions.
|
|
521
|
+
spawn: __spawn_spec[modal._functions.ReturnType, modal._functions.P, typing_extensions.Self]
|
|
522
522
|
|
|
523
523
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
524
524
|
"""Return the inner Python object wrapped by this Modal Function."""
|
|
@@ -240,6 +240,13 @@ enum SystemErrorCode {
|
|
|
240
240
|
SYSTEM_ERROR_CODE_NOSPC = 28; // ENOSPC: No space left on device
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
+
enum TaskSnapshotBehavior {
|
|
244
|
+
TASK_SNAPSHOT_BEHAVIOR_UNSPECIFIED = 0;
|
|
245
|
+
TASK_SNAPSHOT_BEHAVIOR_SNAPSHOT = 1;
|
|
246
|
+
TASK_SNAPSHOT_BEHAVIOR_RESTORE = 2;
|
|
247
|
+
TASK_SNAPSHOT_BEHAVIOR_NONE = 3;
|
|
248
|
+
}
|
|
249
|
+
|
|
243
250
|
enum TaskState {
|
|
244
251
|
TASK_STATE_UNSPECIFIED = 0;
|
|
245
252
|
TASK_STATE_CREATED = 6;
|
|
@@ -2098,6 +2105,16 @@ message MapAwaitResponse {
|
|
|
2098
2105
|
string last_entry_id = 2;
|
|
2099
2106
|
}
|
|
2100
2107
|
|
|
2108
|
+
message MapCheckInputsRequest {
|
|
2109
|
+
string last_entry_id = 1;
|
|
2110
|
+
float timeout = 2;
|
|
2111
|
+
repeated string attempt_tokens = 3;
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
message MapCheckInputsResponse {
|
|
2115
|
+
repeated bool lost = 1;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2101
2118
|
message MapStartOrContinueItem {
|
|
2102
2119
|
FunctionPutInputsItem input = 1;
|
|
2103
2120
|
optional string attempt_token = 2; // None if this is a fresh input, otherwise it is the attempt token for a retry.
|
|
@@ -2961,6 +2978,7 @@ message TaskInfo {
|
|
|
2961
2978
|
double enqueued_at = 5;
|
|
2962
2979
|
string gpu_type = 6;
|
|
2963
2980
|
string sandbox_id = 7;
|
|
2981
|
+
TaskSnapshotBehavior snapshot_behavior = 8;
|
|
2964
2982
|
}
|
|
2965
2983
|
|
|
2966
2984
|
message TaskListRequest {
|
|
@@ -3464,6 +3482,7 @@ service ModalClient {
|
|
|
3464
3482
|
|
|
3465
3483
|
// Input Plane Map
|
|
3466
3484
|
rpc MapAwait(MapAwaitRequest) returns (MapAwaitResponse);
|
|
3485
|
+
rpc MapCheckInputs(MapCheckInputsRequest) returns (MapCheckInputsResponse);
|
|
3467
3486
|
rpc MapStartOrContinue(MapStartOrContinueRequest) returns (MapStartOrContinueResponse);
|
|
3468
3487
|
|
|
3469
3488
|
// Mounts
|
|
@@ -366,6 +366,10 @@ class ModalClientBase(abc.ABC):
|
|
|
366
366
|
async def MapAwait(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapAwaitRequest, modal_proto.api_pb2.MapAwaitResponse]') -> None:
|
|
367
367
|
pass
|
|
368
368
|
|
|
369
|
+
@abc.abstractmethod
|
|
370
|
+
async def MapCheckInputs(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapCheckInputsRequest, modal_proto.api_pb2.MapCheckInputsResponse]') -> None:
|
|
371
|
+
pass
|
|
372
|
+
|
|
369
373
|
@abc.abstractmethod
|
|
370
374
|
async def MapStartOrContinue(self, stream: 'grpclib.server.Stream[modal_proto.api_pb2.MapStartOrContinueRequest, modal_proto.api_pb2.MapStartOrContinueResponse]') -> None:
|
|
371
375
|
pass
|
|
@@ -1186,6 +1190,12 @@ class ModalClientBase(abc.ABC):
|
|
|
1186
1190
|
modal_proto.api_pb2.MapAwaitRequest,
|
|
1187
1191
|
modal_proto.api_pb2.MapAwaitResponse,
|
|
1188
1192
|
),
|
|
1193
|
+
'/modal.client.ModalClient/MapCheckInputs': grpclib.const.Handler(
|
|
1194
|
+
self.MapCheckInputs,
|
|
1195
|
+
grpclib.const.Cardinality.UNARY_UNARY,
|
|
1196
|
+
modal_proto.api_pb2.MapCheckInputsRequest,
|
|
1197
|
+
modal_proto.api_pb2.MapCheckInputsResponse,
|
|
1198
|
+
),
|
|
1189
1199
|
'/modal.client.ModalClient/MapStartOrContinue': grpclib.const.Handler(
|
|
1190
1200
|
self.MapStartOrContinue,
|
|
1191
1201
|
grpclib.const.Cardinality.UNARY_UNARY,
|
|
@@ -2158,6 +2168,12 @@ class ModalClientStub:
|
|
|
2158
2168
|
modal_proto.api_pb2.MapAwaitRequest,
|
|
2159
2169
|
modal_proto.api_pb2.MapAwaitResponse,
|
|
2160
2170
|
)
|
|
2171
|
+
self.MapCheckInputs = grpclib.client.UnaryUnaryMethod(
|
|
2172
|
+
channel,
|
|
2173
|
+
'/modal.client.ModalClient/MapCheckInputs',
|
|
2174
|
+
modal_proto.api_pb2.MapCheckInputsRequest,
|
|
2175
|
+
modal_proto.api_pb2.MapCheckInputsResponse,
|
|
2176
|
+
)
|
|
2161
2177
|
self.MapStartOrContinue = grpclib.client.UnaryUnaryMethod(
|
|
2162
2178
|
channel,
|
|
2163
2179
|
'/modal.client.ModalClient/MapStartOrContinue',
|