modal 1.1.5.dev38__tar.gz → 1.1.5.dev40__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.5.dev38 → modal-1.1.5.dev40}/PKG-INFO +1 -1
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/client.pyi +2 -2
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/runner.py +5 -1
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router.proto +1 -1
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router_pb2.py +24 -24
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router_pb2.pyi +5 -3
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_version/__init__.py +1 -1
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/LICENSE +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/README.md +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/__main__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_clustered_functions.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_clustered_functions.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_container_entrypoint.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_functions.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_ipython.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_location.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_object.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_output.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_partial_function.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_pty.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_resolver.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_resources.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/asgi.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/execution_context.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/telemetry.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_serialization.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_traceback.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_tunnel.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_tunnel.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_type_manager.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/app_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/async_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/blob_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/deprecation.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/docker_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/function_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/git_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/hash_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/http_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/logger.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/mount_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/name_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/package_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/shell_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_utils/time_utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_vendor/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_vendor/tblib.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/_watcher.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/app.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/app.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/2023.12.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/2024.04.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/2024.10.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/2025.06.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/README.md +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/builder/base-images.json +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/call_graph.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/_download.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/_traceback.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/app.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/cluster.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/config.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/container.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/dict.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/entry_point.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/environment.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/import_refs.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/launch.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/network_file_system.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/profile.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/programs/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/programs/vscode.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/queues.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/run.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/secret.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/token.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/utils.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cli/volume.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/client.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cls.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/cls.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/config.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/container_process.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/container_process.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/dict.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/dict.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/environments.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/environments.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/exception.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/experimental/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/experimental/flash.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/experimental/flash.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/experimental/ipython.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/file_io.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/file_io.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/file_pattern_matcher.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/functions.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/functions.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/gpu.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/image.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/image.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/io_streams.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/io_streams.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/mount.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/mount.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/network_file_system.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/network_file_system.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/object.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/object.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/output.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/parallel_map.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/parallel_map.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/partial_function.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/partial_function.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/proxy.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/proxy.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/py.typed +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/queue.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/queue.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/retries.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/runner.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/running_app.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/sandbox.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/sandbox.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/schedule.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/scheduler_placement.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/secret.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/secret.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/serving.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/serving.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/snapshot.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/snapshot.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/stream_type.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/token_flow.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/token_flow.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/volume.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal/volume.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/requires.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal.egg-info/top_level.txt +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/__init__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api.proto +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api_pb2.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/modal_options_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options.proto +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options_pb2.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options_pb2.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/py.typed +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/modal_version/__main__.py +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/pyproject.toml +0 -0
- {modal-1.1.5.dev38 → modal-1.1.5.dev40}/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.5.
|
|
36
|
+
version: str = "1.1.5.dev40",
|
|
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.5.
|
|
167
|
+
version: str = "1.1.5.dev40",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -360,8 +360,12 @@ async def _run_app(
|
|
|
360
360
|
|
|
361
361
|
# Yield to context
|
|
362
362
|
if output_mgr := _get_output_manager():
|
|
363
|
-
with
|
|
363
|
+
# Don't show status spinner in interactive mode to avoid interfering with breakpoints
|
|
364
|
+
if interactive:
|
|
364
365
|
yield app
|
|
366
|
+
else:
|
|
367
|
+
with output_mgr.show_status_spinner():
|
|
368
|
+
yield app
|
|
365
369
|
else:
|
|
366
370
|
yield app
|
|
367
371
|
# successful completion!
|
|
@@ -47,7 +47,7 @@ message SandboxExecStartRequest {
|
|
|
47
47
|
// Timeout in seconds for the exec'd command to exit. If the command does not
|
|
48
48
|
// exit within this duration, the command will be killed. This is NOT the
|
|
49
49
|
// timeout for the ExecStartRequest RPC to complete.
|
|
50
|
-
uint32 timeout_secs = 6;
|
|
50
|
+
optional uint32 timeout_secs = 6;
|
|
51
51
|
// Working directory for the command.
|
|
52
52
|
optional string workdir = 7;
|
|
53
53
|
// Secret IDs to mount into the sandbox.
|
|
@@ -16,7 +16,7 @@ _sym_db = _symbol_database.Default()
|
|
|
16
16
|
from modal_proto import api_pb2 as modal__proto_dot_api__pb2
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n modal_proto/sandbox_router.proto\x12\x14modal.sandbox_router\x1a\x15modal_proto/api.proto\"\
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n modal_proto/sandbox_router.proto\x12\x14modal.sandbox_router\x1a\x15modal_proto/api.proto\"\x91\x03\n\x17SandboxExecStartRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x14\n\x0c\x63ommand_args\x18\x03 \x03(\t\x12\x44\n\rstdout_config\x18\x04 \x01(\x0e\x32-.modal.sandbox_router.SandboxExecStdoutConfig\x12\x44\n\rstderr_config\x18\x05 \x01(\x0e\x32-.modal.sandbox_router.SandboxExecStderrConfig\x12\x19\n\x0ctimeout_secs\x18\x06 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07workdir\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x12,\n\x08pty_info\x18\t \x01(\x0b\x32\x15.modal.client.PTYInfoH\x02\x88\x01\x01\x12\x15\n\rruntime_debug\x18\n \x01(\x08\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x1a\n\x18SandboxExecStartResponse\"k\n\x1cSandboxExecStdinWriteRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x05 \x01(\x08\"\x1f\n\x1dSandboxExecStdinWriteResponse\"\x9e\x01\n\x1bSandboxExecStdioReadRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12M\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x34.modal.sandbox_router.SandboxExecStdioFileDescriptor\",\n\x1cSandboxExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\":\n\x16SandboxExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"J\n\x17SandboxExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x03 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x04 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status*\x8d\x01\n\x17SandboxExecStderrConfig\x12&\n\"SANDBOX_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12#\n\x1fSANDBOX_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12%\n!SANDBOX_EXEC_STDERR_CONFIG_STDOUT\x10\x02*~\n\x1eSandboxExecStdioFileDescriptor\x12-\n)SANDBOX_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12-\n)SANDBOX_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*f\n\x17SandboxExecStdoutConfig\x12&\n\"SANDBOX_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12#\n\x1fSANDBOX_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\xf6\x03\n\rSandboxRouter\x12q\n\x10SandboxExecStart\x12-.modal.sandbox_router.SandboxExecStartRequest\x1a..modal.sandbox_router.SandboxExecStartResponse\x12\x80\x01\n\x15SandboxExecStdinWrite\x12\x32.modal.sandbox_router.SandboxExecStdinWriteRequest\x1a\x33.modal.sandbox_router.SandboxExecStdinWriteResponse\x12\x7f\n\x14SandboxExecStdioRead\x12\x31.modal.sandbox_router.SandboxExecStdioReadRequest\x1a\x32.modal.sandbox_router.SandboxExecStdioReadResponse0\x01\x12n\n\x0fSandboxExecWait\x12,.modal.sandbox_router.SandboxExecWaitRequest\x1a-.modal.sandbox_router.SandboxExecWaitResponseb\x06proto3')
|
|
20
20
|
|
|
21
21
|
_SANDBOXEXECSTDERRCONFIG = DESCRIPTOR.enum_types_by_name['SandboxExecStderrConfig']
|
|
22
22
|
SandboxExecStderrConfig = enum_type_wrapper.EnumTypeWrapper(_SANDBOXEXECSTDERRCONFIG)
|
|
@@ -101,28 +101,28 @@ _SANDBOXROUTER = DESCRIPTOR.services_by_name['SandboxRouter']
|
|
|
101
101
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
102
102
|
|
|
103
103
|
DESCRIPTOR._options = None
|
|
104
|
-
_SANDBOXEXECSTDERRCONFIG._serialized_start=
|
|
105
|
-
_SANDBOXEXECSTDERRCONFIG._serialized_end=
|
|
106
|
-
_SANDBOXEXECSTDIOFILEDESCRIPTOR._serialized_start=
|
|
107
|
-
_SANDBOXEXECSTDIOFILEDESCRIPTOR._serialized_end=
|
|
108
|
-
_SANDBOXEXECSTDOUTCONFIG._serialized_start=
|
|
109
|
-
_SANDBOXEXECSTDOUTCONFIG._serialized_end=
|
|
104
|
+
_SANDBOXEXECSTDERRCONFIG._serialized_start=999
|
|
105
|
+
_SANDBOXEXECSTDERRCONFIG._serialized_end=1140
|
|
106
|
+
_SANDBOXEXECSTDIOFILEDESCRIPTOR._serialized_start=1142
|
|
107
|
+
_SANDBOXEXECSTDIOFILEDESCRIPTOR._serialized_end=1268
|
|
108
|
+
_SANDBOXEXECSTDOUTCONFIG._serialized_start=1270
|
|
109
|
+
_SANDBOXEXECSTDOUTCONFIG._serialized_end=1372
|
|
110
110
|
_SANDBOXEXECSTARTREQUEST._serialized_start=82
|
|
111
|
-
_SANDBOXEXECSTARTREQUEST._serialized_end=
|
|
112
|
-
_SANDBOXEXECSTARTRESPONSE._serialized_start=
|
|
113
|
-
_SANDBOXEXECSTARTRESPONSE._serialized_end=
|
|
114
|
-
_SANDBOXEXECSTDINWRITEREQUEST._serialized_start=
|
|
115
|
-
_SANDBOXEXECSTDINWRITEREQUEST._serialized_end=
|
|
116
|
-
_SANDBOXEXECSTDINWRITERESPONSE._serialized_start=
|
|
117
|
-
_SANDBOXEXECSTDINWRITERESPONSE._serialized_end=
|
|
118
|
-
_SANDBOXEXECSTDIOREADREQUEST._serialized_start=
|
|
119
|
-
_SANDBOXEXECSTDIOREADREQUEST._serialized_end=
|
|
120
|
-
_SANDBOXEXECSTDIOREADRESPONSE._serialized_start=
|
|
121
|
-
_SANDBOXEXECSTDIOREADRESPONSE._serialized_end=
|
|
122
|
-
_SANDBOXEXECWAITREQUEST._serialized_start=
|
|
123
|
-
_SANDBOXEXECWAITREQUEST._serialized_end=
|
|
124
|
-
_SANDBOXEXECWAITRESPONSE._serialized_start=
|
|
125
|
-
_SANDBOXEXECWAITRESPONSE._serialized_end=
|
|
126
|
-
_SANDBOXROUTER._serialized_start=
|
|
127
|
-
_SANDBOXROUTER._serialized_end=
|
|
111
|
+
_SANDBOXEXECSTARTREQUEST._serialized_end=483
|
|
112
|
+
_SANDBOXEXECSTARTRESPONSE._serialized_start=485
|
|
113
|
+
_SANDBOXEXECSTARTRESPONSE._serialized_end=511
|
|
114
|
+
_SANDBOXEXECSTDINWRITEREQUEST._serialized_start=513
|
|
115
|
+
_SANDBOXEXECSTDINWRITEREQUEST._serialized_end=620
|
|
116
|
+
_SANDBOXEXECSTDINWRITERESPONSE._serialized_start=622
|
|
117
|
+
_SANDBOXEXECSTDINWRITERESPONSE._serialized_end=653
|
|
118
|
+
_SANDBOXEXECSTDIOREADREQUEST._serialized_start=656
|
|
119
|
+
_SANDBOXEXECSTDIOREADREQUEST._serialized_end=814
|
|
120
|
+
_SANDBOXEXECSTDIOREADRESPONSE._serialized_start=816
|
|
121
|
+
_SANDBOXEXECSTDIOREADRESPONSE._serialized_end=860
|
|
122
|
+
_SANDBOXEXECWAITREQUEST._serialized_start=862
|
|
123
|
+
_SANDBOXEXECWAITREQUEST._serialized_end=920
|
|
124
|
+
_SANDBOXEXECWAITRESPONSE._serialized_start=922
|
|
125
|
+
_SANDBOXEXECWAITRESPONSE._serialized_end=996
|
|
126
|
+
_SANDBOXROUTER._serialized_start=1375
|
|
127
|
+
_SANDBOXROUTER._serialized_end=1877
|
|
128
128
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -139,17 +139,19 @@ class SandboxExecStartRequest(google.protobuf.message.Message):
|
|
|
139
139
|
command_args: collections.abc.Iterable[builtins.str] | None = ...,
|
|
140
140
|
stdout_config: global___SandboxExecStdoutConfig.ValueType = ...,
|
|
141
141
|
stderr_config: global___SandboxExecStderrConfig.ValueType = ...,
|
|
142
|
-
timeout_secs: builtins.int = ...,
|
|
142
|
+
timeout_secs: builtins.int | None = ...,
|
|
143
143
|
workdir: builtins.str | None = ...,
|
|
144
144
|
secret_ids: collections.abc.Iterable[builtins.str] | None = ...,
|
|
145
145
|
pty_info: modal_proto.api_pb2.PTYInfo | None = ...,
|
|
146
146
|
runtime_debug: builtins.bool = ...,
|
|
147
147
|
) -> None: ...
|
|
148
|
-
def HasField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_workdir", b"_workdir", "pty_info", b"pty_info", "workdir", b"workdir"]) -> builtins.bool: ...
|
|
149
|
-
def ClearField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_workdir", b"_workdir", "command_args", b"command_args", "exec_id", b"exec_id", "pty_info", b"pty_info", "runtime_debug", b"runtime_debug", "secret_ids", b"secret_ids", "stderr_config", b"stderr_config", "stdout_config", b"stdout_config", "task_id", b"task_id", "timeout_secs", b"timeout_secs", "workdir", b"workdir"]) -> None: ...
|
|
148
|
+
def HasField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_timeout_secs", b"_timeout_secs", "_workdir", b"_workdir", "pty_info", b"pty_info", "timeout_secs", b"timeout_secs", "workdir", b"workdir"]) -> builtins.bool: ...
|
|
149
|
+
def ClearField(self, field_name: typing_extensions.Literal["_pty_info", b"_pty_info", "_timeout_secs", b"_timeout_secs", "_workdir", b"_workdir", "command_args", b"command_args", "exec_id", b"exec_id", "pty_info", b"pty_info", "runtime_debug", b"runtime_debug", "secret_ids", b"secret_ids", "stderr_config", b"stderr_config", "stdout_config", b"stdout_config", "task_id", b"task_id", "timeout_secs", b"timeout_secs", "workdir", b"workdir"]) -> None: ...
|
|
150
150
|
@typing.overload
|
|
151
151
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_pty_info", b"_pty_info"]) -> typing_extensions.Literal["pty_info"] | None: ...
|
|
152
152
|
@typing.overload
|
|
153
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_timeout_secs", b"_timeout_secs"]) -> typing_extensions.Literal["timeout_secs"] | None: ...
|
|
154
|
+
@typing.overload
|
|
153
155
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_workdir", b"_workdir"]) -> typing_extensions.Literal["workdir"] | None: ...
|
|
154
156
|
|
|
155
157
|
global___SandboxExecStartRequest = SandboxExecStartRequest
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|