modal 1.1.4.dev4__tar.gz → 1.1.4.dev6__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.
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/PKG-INFO +1 -1
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/client.pyi +2 -2
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/sandbox.py +10 -2
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/sandbox.pyi +8 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api.proto +2 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api_pb2.py +659 -659
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api_pb2.pyi +7 -1
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_version/__init__.py +1 -1
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/LICENSE +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/README.md +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/__main__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_clustered_functions.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_clustered_functions.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_container_entrypoint.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_functions.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_ipython.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_location.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_object.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_output.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_partial_function.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_pty.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_resolver.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_resources.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/asgi.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/execution_context.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/telemetry.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_serialization.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_traceback.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_tunnel.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_tunnel.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_type_manager.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/app_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/async_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/blob_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/deprecation.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/docker_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/function_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/git_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/hash_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/http_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/logger.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/mount_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/name_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/package_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/shell_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_utils/time_utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_vendor/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_vendor/tblib.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/_watcher.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/app.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/app.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/2023.12.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/2024.04.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/2024.10.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/2025.06.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/README.md +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/builder/base-images.json +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/call_graph.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/_download.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/_traceback.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/app.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/cluster.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/config.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/container.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/dict.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/entry_point.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/environment.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/import_refs.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/launch.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/network_file_system.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/profile.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/programs/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/programs/vscode.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/queues.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/run.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/secret.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/token.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/utils.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cli/volume.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/client.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cls.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/cls.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/config.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/container_process.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/container_process.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/dict.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/dict.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/environments.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/environments.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/exception.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/experimental/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/experimental/flash.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/experimental/flash.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/experimental/ipython.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/file_io.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/file_io.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/file_pattern_matcher.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/functions.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/functions.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/gpu.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/image.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/image.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/io_streams.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/io_streams.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/mount.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/mount.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/network_file_system.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/network_file_system.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/object.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/object.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/output.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/parallel_map.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/parallel_map.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/partial_function.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/partial_function.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/proxy.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/proxy.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/py.typed +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/queue.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/queue.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/retries.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/runner.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/runner.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/running_app.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/schedule.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/scheduler_placement.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/secret.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/secret.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/serving.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/serving.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/snapshot.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/snapshot.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/stream_type.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/token_flow.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/token_flow.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/volume.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal/volume.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/requires.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal.egg-info/top_level.txt +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/__init__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/modal_options_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options.proto +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options_pb2.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options_pb2.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_proto/py.typed +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/modal_version/__main__.py +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/pyproject.toml +0 -0
- {modal-1.1.4.dev4 → modal-1.1.4.dev6}/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.4.
|
36
|
+
version: str = "1.1.4.dev6",
|
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.4.
|
167
|
+
version: str = "1.1.4.dev6",
|
168
168
|
):
|
169
169
|
"""mdmd:hidden
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
@@ -109,6 +109,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
109
109
|
secrets: Sequence[_Secret],
|
110
110
|
name: Optional[str] = None,
|
111
111
|
timeout: int = 300,
|
112
|
+
idle_timeout: Optional[int] = None,
|
112
113
|
workdir: Optional[str] = None,
|
113
114
|
gpu: GPU_T = None,
|
114
115
|
cloud: Optional[str] = None,
|
@@ -213,6 +214,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
213
214
|
mount_ids=[mount.object_id for mount in mounts] + [mount.object_id for mount in image._mount_layers],
|
214
215
|
secret_ids=[secret.object_id for secret in secrets],
|
215
216
|
timeout_secs=timeout,
|
217
|
+
idle_timeout_secs=idle_timeout,
|
216
218
|
workdir=workdir,
|
217
219
|
resources=convert_fn_config_to_resources_config(
|
218
220
|
cpu=cpu, memory=memory, gpu=gpu, ephemeral_disk=ephemeral_disk
|
@@ -257,7 +259,9 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
257
259
|
image: Optional[_Image] = None, # The image to run as the container for the sandbox.
|
258
260
|
secrets: Sequence[_Secret] = (), # Environment variables to inject into the sandbox.
|
259
261
|
network_file_systems: dict[Union[str, os.PathLike], _NetworkFileSystem] = {},
|
260
|
-
timeout: int = 300, # Maximum
|
262
|
+
timeout: int = 300, # Maximum lifetime of the sandbox in seconds.
|
263
|
+
# The amount of time in seconds that a sandbox can be idle before being terminated.
|
264
|
+
idle_timeout: Optional[int] = None,
|
261
265
|
workdir: Optional[str] = None, # Working directory of the sandbox.
|
262
266
|
gpu: GPU_T = None,
|
263
267
|
cloud: Optional[str] = None,
|
@@ -324,6 +328,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
324
328
|
secrets=secrets,
|
325
329
|
network_file_systems=network_file_systems,
|
326
330
|
timeout=timeout,
|
331
|
+
idle_timeout=idle_timeout,
|
327
332
|
workdir=workdir,
|
328
333
|
gpu=gpu,
|
329
334
|
cloud=cloud,
|
@@ -355,7 +360,9 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
355
360
|
secrets: Sequence[_Secret] = (), # Environment variables to inject into the sandbox.
|
356
361
|
mounts: Sequence[_Mount] = (),
|
357
362
|
network_file_systems: dict[Union[str, os.PathLike], _NetworkFileSystem] = {},
|
358
|
-
timeout: int = 300, # Maximum
|
363
|
+
timeout: int = 300, # Maximum lifetime of the sandbox in seconds.
|
364
|
+
# The amount of time in seconds that a sandbox can be idle before being terminated.
|
365
|
+
idle_timeout: Optional[int] = None,
|
359
366
|
workdir: Optional[str] = None, # Working directory of the sandbox.
|
360
367
|
gpu: GPU_T = None,
|
361
368
|
cloud: Optional[str] = None,
|
@@ -405,6 +412,7 @@ class _Sandbox(_Object, type_prefix="sb"):
|
|
405
412
|
secrets=secrets,
|
406
413
|
name=name,
|
407
414
|
timeout=timeout,
|
415
|
+
idle_timeout=idle_timeout,
|
408
416
|
workdir=workdir,
|
409
417
|
gpu=gpu,
|
410
418
|
cloud=cloud,
|
@@ -60,6 +60,7 @@ class _Sandbox(modal._object._Object):
|
|
60
60
|
secrets: collections.abc.Sequence[modal.secret._Secret],
|
61
61
|
name: typing.Optional[str] = None,
|
62
62
|
timeout: int = 300,
|
63
|
+
idle_timeout: typing.Optional[int] = None,
|
63
64
|
workdir: typing.Optional[str] = None,
|
64
65
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
65
66
|
cloud: typing.Optional[str] = None,
|
@@ -96,6 +97,7 @@ class _Sandbox(modal._object._Object):
|
|
96
97
|
secrets: collections.abc.Sequence[modal.secret._Secret] = (),
|
97
98
|
network_file_systems: dict[typing.Union[str, os.PathLike], modal.network_file_system._NetworkFileSystem] = {},
|
98
99
|
timeout: int = 300,
|
100
|
+
idle_timeout: typing.Optional[int] = None,
|
99
101
|
workdir: typing.Optional[str] = None,
|
100
102
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
101
103
|
cloud: typing.Optional[str] = None,
|
@@ -145,6 +147,7 @@ class _Sandbox(modal._object._Object):
|
|
145
147
|
mounts: collections.abc.Sequence[modal.mount._Mount] = (),
|
146
148
|
network_file_systems: dict[typing.Union[str, os.PathLike], modal.network_file_system._NetworkFileSystem] = {},
|
147
149
|
timeout: int = 300,
|
150
|
+
idle_timeout: typing.Optional[int] = None,
|
148
151
|
workdir: typing.Optional[str] = None,
|
149
152
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
150
153
|
cloud: typing.Optional[str] = None,
|
@@ -370,6 +373,7 @@ class Sandbox(modal.object.Object):
|
|
370
373
|
secrets: collections.abc.Sequence[modal.secret.Secret],
|
371
374
|
name: typing.Optional[str] = None,
|
372
375
|
timeout: int = 300,
|
376
|
+
idle_timeout: typing.Optional[int] = None,
|
373
377
|
workdir: typing.Optional[str] = None,
|
374
378
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
375
379
|
cloud: typing.Optional[str] = None,
|
@@ -409,6 +413,7 @@ class Sandbox(modal.object.Object):
|
|
409
413
|
typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
|
410
414
|
] = {},
|
411
415
|
timeout: int = 300,
|
416
|
+
idle_timeout: typing.Optional[int] = None,
|
412
417
|
workdir: typing.Optional[str] = None,
|
413
418
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
414
419
|
cloud: typing.Optional[str] = None,
|
@@ -460,6 +465,7 @@ class Sandbox(modal.object.Object):
|
|
460
465
|
typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
|
461
466
|
] = {},
|
462
467
|
timeout: int = 300,
|
468
|
+
idle_timeout: typing.Optional[int] = None,
|
463
469
|
workdir: typing.Optional[str] = None,
|
464
470
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
465
471
|
cloud: typing.Optional[str] = None,
|
@@ -515,6 +521,7 @@ class Sandbox(modal.object.Object):
|
|
515
521
|
typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
|
516
522
|
] = {},
|
517
523
|
timeout: int = 300,
|
524
|
+
idle_timeout: typing.Optional[int] = None,
|
518
525
|
workdir: typing.Optional[str] = None,
|
519
526
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
520
527
|
cloud: typing.Optional[str] = None,
|
@@ -551,6 +558,7 @@ class Sandbox(modal.object.Object):
|
|
551
558
|
typing.Union[str, os.PathLike], modal.network_file_system.NetworkFileSystem
|
552
559
|
] = {},
|
553
560
|
timeout: int = 300,
|
561
|
+
idle_timeout: typing.Optional[int] = None,
|
554
562
|
workdir: typing.Optional[str] = None,
|
555
563
|
gpu: typing.Union[None, str, modal.gpu._GPUConfig] = None,
|
556
564
|
cloud: typing.Optional[str] = None,
|