modal 1.4.4.dev12__tar.gz → 1.4.4.dev13__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.4.4.dev12 → modal-1.4.4.dev13}/PKG-INFO +1 -1
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/client.pyi +2 -2
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/functions.pyi +6 -6
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/gen_reference_docs.py +11 -22
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/mdmd/mdmd.py +13 -1
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2.py +17 -17
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2.pyi +11 -2
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_version/__init__.py +1 -1
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/LICENSE +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/README.md +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/__main__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_billing.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_clustered_functions.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_clustered_functions.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_container_entrypoint.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_environments.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_function_variants.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_functions.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_grpc_client.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_ipython.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_load_context.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_location.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_logs.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_object.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_output/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_output/manager.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_output/pty.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_output/rich.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_output/status.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_partial_function.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_resolver.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_resources.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/asgi.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/execution_context.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/task_lifecycle_manager.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/telemetry.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_serialization.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_server.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_traceback.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_tunnel.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_tunnel.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_type_manager.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/app_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/async_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/blob_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/browser_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/deprecation.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/docker_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/function_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/git_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/hash_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/http_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/logger.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/mount_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/name_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/package_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/sandbox_fs_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/shell_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_utils/time_utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_vendor/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_vendor/tblib.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_vendor/version.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_watcher.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/_workspace.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/app.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/app.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/billing.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/2023.12.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/2024.04.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/2024.10.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/2025.06.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/README.md +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/builder/base-images.json +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/call_graph.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/_download.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/_help.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/_traceback.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/app.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/billing.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/bootstrap.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/changelog.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/cluster.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/config.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/container.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/dashboard.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/dict.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/entry_point.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/environment.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/import_refs.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/launch.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/logo.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/network_file_system.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/profile.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/programs/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/programs/vscode.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/queues.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/run.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/secret.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/selector.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/shell.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/token.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/utils.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cli/volume.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/client.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cls.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/cls.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/config.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/container_process.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/container_process.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/dict.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/dict.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/environments.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/environments.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/exception.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/experimental/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/experimental/flash.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/experimental/flash.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/experimental/ipython.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/file_io.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/file_io.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/file_pattern_matcher.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/functions.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/image.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/image.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/io_streams.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/io_streams.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/mount.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/mount.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/network_file_system.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/network_file_system.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/object.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/object.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/output.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/parallel_map.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/parallel_map.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/partial_function.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/partial_function.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/proxy.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/proxy.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/py.typed +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/queue.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/queue.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/retries.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/runner.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/runner.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/running_app.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/sandbox.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/sandbox.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/sandbox_fs.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/sandbox_fs.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/schedule.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/scheduler_placement.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/secret.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/secret.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/server.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/server.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/serving.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/serving.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/snapshot.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/snapshot.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/stream_type.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/token_flow.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/token_flow.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/volume.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/volume.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/workspace.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal/workspace.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/requires.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal.egg-info/top_level.txt +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/gen_cli_docs_main.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/gen_reference_docs_main.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/__init__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/api_grpc.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/api_pb2.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/py.typed +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/modal_version/__main__.py +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/pyproject.toml +0 -0
- {modal-1.4.4.dev12 → modal-1.4.4.dev13}/setup.cfg +0 -0
|
@@ -35,7 +35,7 @@ class _Client:
|
|
|
35
35
|
server_url: str,
|
|
36
36
|
client_type: int,
|
|
37
37
|
credentials: typing.Optional[tuple[str, str]],
|
|
38
|
-
version: str = "1.4.4.
|
|
38
|
+
version: str = "1.4.4.dev13",
|
|
39
39
|
):
|
|
40
40
|
"""mdmd:hidden
|
|
41
41
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -175,7 +175,7 @@ class Client:
|
|
|
175
175
|
server_url: str,
|
|
176
176
|
client_type: int,
|
|
177
177
|
credentials: typing.Optional[tuple[str, str]],
|
|
178
|
-
version: str = "1.4.4.
|
|
178
|
+
version: str = "1.4.4.dev13",
|
|
179
179
|
):
|
|
180
180
|
"""mdmd:hidden
|
|
181
181
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -421,7 +421,7 @@ class Function(
|
|
|
421
421
|
|
|
422
422
|
_call_generator: ___call_generator_spec
|
|
423
423
|
|
|
424
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
424
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
425
425
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
426
426
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
427
427
|
...
|
|
@@ -430,7 +430,7 @@ class Function(
|
|
|
430
430
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result."""
|
|
431
431
|
...
|
|
432
432
|
|
|
433
|
-
remote: __remote_spec[modal._functions.
|
|
433
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType]
|
|
434
434
|
|
|
435
435
|
class __remote_gen_spec(typing_extensions.Protocol):
|
|
436
436
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -457,7 +457,7 @@ class Function(
|
|
|
457
457
|
"""
|
|
458
458
|
...
|
|
459
459
|
|
|
460
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
460
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
461
461
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
462
462
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
463
463
|
|
|
@@ -480,7 +480,7 @@ class Function(
|
|
|
480
480
|
"""
|
|
481
481
|
...
|
|
482
482
|
|
|
483
|
-
_experimental_spawn: ___experimental_spawn_spec[modal._functions.
|
|
483
|
+
_experimental_spawn: ___experimental_spawn_spec[modal._functions.P, modal._functions.ReturnType]
|
|
484
484
|
|
|
485
485
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER]):
|
|
486
486
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
|
|
@@ -488,7 +488,7 @@ class Function(
|
|
|
488
488
|
|
|
489
489
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P]
|
|
490
490
|
|
|
491
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
491
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
492
492
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
493
493
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
494
494
|
|
|
@@ -509,7 +509,7 @@ class Function(
|
|
|
509
509
|
"""
|
|
510
510
|
...
|
|
511
511
|
|
|
512
|
-
spawn: __spawn_spec[modal._functions.
|
|
512
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType]
|
|
513
513
|
|
|
514
514
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
515
515
|
"""Return the inner Python object wrapped by this Modal Function."""
|
|
@@ -44,16 +44,13 @@ def validate_doc_item(docitem: DocItem) -> DocItem:
|
|
|
44
44
|
return docitem
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
def run(output_dir: str = None):
|
|
47
|
+
def run(output_dir: str | None = None):
|
|
48
48
|
"""Generate Modal docs."""
|
|
49
49
|
import modal
|
|
50
50
|
|
|
51
51
|
ordered_doc_items: list[DocItem] = []
|
|
52
52
|
documented_items = set()
|
|
53
53
|
|
|
54
|
-
def filter_non_aio(module, name):
|
|
55
|
-
return not name.lower().startswith("aio")
|
|
56
|
-
|
|
57
54
|
def filter_already_documented(module, name):
|
|
58
55
|
item = getattr(module, name)
|
|
59
56
|
try:
|
|
@@ -65,31 +62,34 @@ def run(output_dir: str = None):
|
|
|
65
62
|
documented_items.add(item)
|
|
66
63
|
return True
|
|
67
64
|
|
|
68
|
-
def
|
|
69
|
-
return default_filter(module, name)
|
|
65
|
+
def module_doc_filter(module, name):
|
|
66
|
+
return default_filter(module, name)
|
|
70
67
|
|
|
71
68
|
def top_level_filter(module, name):
|
|
72
69
|
item = getattr(module, name)
|
|
73
70
|
if object_is_private(name, item) or inspect.ismodule(item):
|
|
74
71
|
return False
|
|
75
|
-
return package_filter("modal") and filter_already_documented(module, name)
|
|
72
|
+
return package_filter("modal") and filter_already_documented(module, name)
|
|
76
73
|
|
|
77
74
|
base_title_level = "#"
|
|
78
|
-
|
|
75
|
+
# Standalone module reference pages, sorted into the sidebar with top-level `modal.X` entries.
|
|
76
|
+
module_docs = [
|
|
79
77
|
("modal.billing", "modal.billing"),
|
|
80
78
|
("modal.call_graph", "modal.call_graph"),
|
|
79
|
+
("modal.config", "modal.config"),
|
|
81
80
|
("modal.container_process", "modal.container_process"),
|
|
82
|
-
("modal.
|
|
81
|
+
("modal.exception", "modal.exception"),
|
|
83
82
|
("modal.file_io", "modal.file_io"),
|
|
83
|
+
("modal.io_streams", "modal.io_streams"),
|
|
84
84
|
]
|
|
85
85
|
# These aren't defined in `modal`, but should still be documented as top-level entries.
|
|
86
86
|
forced_members: set[str] = set()
|
|
87
87
|
# These are excluded from the sidebar, typically to 'soft release' some documentation.
|
|
88
88
|
sidebar_excluded: set[str] = {"modal.NetworkFileSystem"}
|
|
89
89
|
|
|
90
|
-
for title, modulepath in
|
|
90
|
+
for title, modulepath in module_docs:
|
|
91
91
|
module = importlib.import_module(modulepath)
|
|
92
|
-
document = module_str(modulepath, module, title_level=base_title_level, filter_items=
|
|
92
|
+
document = module_str(modulepath, module, title_level=base_title_level, filter_items=module_doc_filter)
|
|
93
93
|
if document:
|
|
94
94
|
ordered_doc_items.append(
|
|
95
95
|
validate_doc_item(
|
|
@@ -134,17 +134,6 @@ def run(output_dir: str = None):
|
|
|
134
134
|
)
|
|
135
135
|
ordered_doc_items.sort()
|
|
136
136
|
|
|
137
|
-
for modulepath in ["modal.exception", "modal.config"]:
|
|
138
|
-
module = importlib.import_module(modulepath)
|
|
139
|
-
document = module_str(modulepath, module, title_level=base_title_level, filter_items=modal_default_filter)
|
|
140
|
-
ordered_doc_items.append(
|
|
141
|
-
DocItem(
|
|
142
|
-
label=modulepath,
|
|
143
|
-
category=Category.MODULE,
|
|
144
|
-
document=document,
|
|
145
|
-
)
|
|
146
|
-
)
|
|
147
|
-
|
|
148
137
|
# TODO: add some way of documenting our .aio sub-methods
|
|
149
138
|
|
|
150
139
|
make_markdown_docs(
|
|
@@ -19,7 +19,11 @@ def format_docstring(docstring: str | None) -> str:
|
|
|
19
19
|
else:
|
|
20
20
|
docstring = inspect.cleandoc(docstring)
|
|
21
21
|
|
|
22
|
-
docstring = "\n".join(
|
|
22
|
+
docstring = "\n".join(
|
|
23
|
+
l
|
|
24
|
+
for l in docstring.split("\n")
|
|
25
|
+
if "mdmd:line-hidden" not in l and "mdmd:namespace" not in l and "mdmd:exported" not in l
|
|
26
|
+
)
|
|
23
27
|
|
|
24
28
|
if docstring and not docstring.endswith("\n"):
|
|
25
29
|
docstring += "\n"
|
|
@@ -238,6 +242,12 @@ def object_is_private(name, obj):
|
|
|
238
242
|
return False
|
|
239
243
|
|
|
240
244
|
|
|
245
|
+
def module_reexports_all(module: ModuleType) -> bool:
|
|
246
|
+
"""Use `mdmd:exported` for modules that re-export objects defined elsewhere via __all__."""
|
|
247
|
+
docstring = module.__doc__ or ""
|
|
248
|
+
return any("mdmd:exported" in line for line in docstring.split("\n"))
|
|
249
|
+
|
|
250
|
+
|
|
241
251
|
def default_filter(module, item_name):
|
|
242
252
|
"""Include non-private objects defined in the module itself or its private counterpart."""
|
|
243
253
|
item = getattr(module, item_name)
|
|
@@ -246,6 +256,8 @@ def default_filter(module, item_name):
|
|
|
246
256
|
member_module = getattr(item, "__module__", type(item).__module__)
|
|
247
257
|
if member_module == module.__name__:
|
|
248
258
|
return True
|
|
259
|
+
if module_reexports_all(module) and item_name in getattr(module, "__all__", ()):
|
|
260
|
+
return True
|
|
249
261
|
# Also allow items from the corresponding private module (e.g., modal._foo for modal.foo)
|
|
250
262
|
parts = module.__name__.rsplit(".", 1)
|
|
251
263
|
if len(parts) == 2:
|
|
@@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
|
|
17
17
|
from modal_proto import api_pb2 as modal__proto_dot_api__pb2
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"\x83\x02\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x9b\x04\n\x14TaskExecStartRequest\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\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\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\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"h\n\x19TaskExecStdinWriteRequest\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\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x87\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\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\"\x9d\x01\n\x18TaskExecStdioReadRequest\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\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"
|
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%modal_proto/task_command_router.proto\x12\x19modal.task_command_router\x1a\x1bgoogle/protobuf/empty.proto\x1a\x15modal_proto/api.proto\"X\n\x1aSandboxStdinWriteV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x03 \x01(\x0c\x12\x0b\n\x03\x65of\x18\x04 \x01(\x08\"\x1d\n\x1bSandboxStdinWriteV2Response\"\x8c\x01\n\x19SandboxStdioReadV2Request\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06offset\x18\x02 \x01(\x04\x12N\n\x0f\x66ile_descriptor\x18\x03 \x01(\x0e\x32\x35.modal.task_command_router.SandboxStdioFileDescriptor\"C\n\x1aSandboxStdioReadV2Response\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x17\n\x0fstarting_offset\x18\x02 \x01(\x04\"\x83\x02\n\x1aTaskContainerCreateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12\x0c\n\x04\x61rgs\x18\x05 \x03(\t\x12K\n\x03\x65nv\x18\x06 \x03(\x0b\x32>.modal.task_command_router.TaskContainerCreateRequest.EnvEntry\x12\x0f\n\x07workdir\x18\x07 \x01(\t\x12\x12\n\nsecret_ids\x18\x08 \x03(\t\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"K\n\x1bTaskContainerCreateResponse\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\"^\n\x17TaskContainerGetRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x1a\n\x12include_terminated\x18\x03 \x01(\x08\"[\n\x18TaskContainerGetResponse\x12?\n\tcontainer\x18\x01 \x01(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"~\n\x11TaskContainerInfo\x12\x14\n\x0c\x63ontainer_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63ontainer_name\x18\x02 \x01(\t\x12\x0e\n\x06status\x18\x03 \x01(\t\x12+\n\x06result\x18\x04 \x01(\x0b\x32\x1b.modal.client.GenericResult\"G\n\x18TaskContainerListRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x1a\n\x12include_terminated\x18\x02 \x01(\x08\"]\n\x19TaskContainerListResponse\x12@\n\ncontainers\x18\x01 \x03(\x0b\x32,.modal.task_command_router.TaskContainerInfo\"F\n\x1dTaskContainerTerminateRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\" \n\x1eTaskContainerTerminateResponse\"R\n\x18TaskContainerWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x14\n\x0c\x63ontainer_id\x18\x02 \x01(\t\x12\x0f\n\x07timeout\x18\x03 \x01(\x02\"H\n\x19TaskContainerWaitResponse\x12+\n\x06result\x18\x01 \x01(\x0b\x32\x1b.modal.client.GenericResult\"7\n\x13TaskExecPollRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecPollResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\x9b\x04\n\x14TaskExecStartRequest\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\x46\n\rstdout_config\x18\x04 \x01(\x0e\x32/.modal.task_command_router.TaskExecStdoutConfig\x12\x46\n\rstderr_config\x18\x05 \x01(\x0e\x32/.modal.task_command_router.TaskExecStderrConfig\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\x12\x14\n\x0c\x63ontainer_id\x18\x0b \x01(\t\x12\x45\n\x03\x65nv\x18\x0c \x03(\x0b\x32\x38.modal.task_command_router.TaskExecStartRequest.EnvEntry\x1a*\n\x08\x45nvEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x0f\n\r_timeout_secsB\n\n\x08_workdirB\x0b\n\t_pty_info\"\x17\n\x15TaskExecStartResponse\">\n\x1aTaskExecStdinStatusRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"H\n\x1bTaskExecStdinStatusResponse\x12\x19\n\x11num_bytes_written\x18\x01 \x01(\x04\x12\x0e\n\x06\x63losed\x18\x02 \x01(\x08\"h\n\x19TaskExecStdinWriteRequest\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\"\x1c\n\x1aTaskExecStdinWriteResponse\"\x87\x01\n\x1fTaskExecStdinWriteStreamRequest\x12I\n\x05start\x18\x01 \x01(\x0b\x32\x38.modal.task_command_router.TaskExecStdinWriteStreamStartH\x00\x12\x0e\n\x04\x64\x61ta\x18\x02 \x01(\x0cH\x00\x42\t\n\x07payload\"\"\n TaskExecStdinWriteStreamResponse\"Q\n\x1dTaskExecStdinWriteStreamStart\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\"\x9d\x01\n\x18TaskExecStdioReadRequest\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\x12O\n\x0f\x66ile_descriptor\x18\x04 \x01(\x0e\x32\x36.modal.task_command_router.TaskExecStdioFileDescriptor\")\n\x19TaskExecStdioReadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"7\n\x13TaskExecWaitRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0f\n\x07\x65xec_id\x18\x02 \x01(\t\"G\n\x14TaskExecWaitResponse\x12\x0e\n\x04\x63ode\x18\x01 \x01(\x05H\x00\x12\x10\n\x06signal\x18\x02 \x01(\x05H\x00\x42\r\n\x0b\x65xit_status\"\xa0\x01\n\x19TaskMountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x10\n\x08image_id\x18\x03 \x01(\t\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x42#\n!_customer_supplied_encryption_key\"\xd0\x01\n\x1cTaskSnapshotDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c\x12\x13\n\x0bsnapshot_id\x18\x03 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x04 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"1\n\x1dTaskSnapshotDirectoryResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"\xc3\x01\n\x1dTaskSnapshotFilesystemRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x13\n\x0bsnapshot_id\x18\x02 \x01(\t\x12\x18\n\x0bttl_seconds\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12-\n customer_supplied_encryption_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x42\x0e\n\x0c_ttl_secondsB#\n!_customer_supplied_encryption_key\"2\n\x1eTaskSnapshotFilesystemResponse\x12\x10\n\x08image_id\x18\x01 \x01(\t\"<\n\x1bTaskUnmountDirectoryRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\x0c*p\n\x1aSandboxStdioFileDescriptor\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12(\n$SANDBOX_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*\x81\x01\n\x14TaskExecStderrConfig\x12#\n\x1fTASK_EXEC_STDERR_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDERR_CONFIG_PIPE\x10\x01\x12\"\n\x1eTASK_EXEC_STDERR_CONFIG_STDOUT\x10\x02*u\n\x1bTaskExecStdioFileDescriptor\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDOUT\x10\x00\x12*\n&TASK_EXEC_STDIO_FILE_DESCRIPTOR_STDERR\x10\x01*]\n\x14TaskExecStdoutConfig\x12#\n\x1fTASK_EXEC_STDOUT_CONFIG_DEVNULL\x10\x00\x12 \n\x1cTASK_EXEC_STDOUT_CONFIG_PIPE\x10\x01\x32\x99\x12\n\x11TaskCommandRouter\x12\x84\x01\n\x13SandboxStdinWriteV2\x12\x35.modal.task_command_router.SandboxStdinWriteV2Request\x1a\x36.modal.task_command_router.SandboxStdinWriteV2Response\x12\x83\x01\n\x12SandboxStdioReadV2\x12\x34.modal.task_command_router.SandboxStdioReadV2Request\x1a\x35.modal.task_command_router.SandboxStdioReadV2Response0\x01\x12\x84\x01\n\x13TaskContainerCreate\x12\x35.modal.task_command_router.TaskContainerCreateRequest\x1a\x36.modal.task_command_router.TaskContainerCreateResponse\x12{\n\x10TaskContainerGet\x12\x32.modal.task_command_router.TaskContainerGetRequest\x1a\x33.modal.task_command_router.TaskContainerGetResponse\x12~\n\x11TaskContainerList\x12\x33.modal.task_command_router.TaskContainerListRequest\x1a\x34.modal.task_command_router.TaskContainerListResponse\x12\x8d\x01\n\x16TaskContainerTerminate\x12\x38.modal.task_command_router.TaskContainerTerminateRequest\x1a\x39.modal.task_command_router.TaskContainerTerminateResponse\x12~\n\x11TaskContainerWait\x12\x33.modal.task_command_router.TaskContainerWaitRequest\x1a\x34.modal.task_command_router.TaskContainerWaitResponse\x12o\n\x0cTaskExecPoll\x12..modal.task_command_router.TaskExecPollRequest\x1a/.modal.task_command_router.TaskExecPollResponse\x12r\n\rTaskExecStart\x12/.modal.task_command_router.TaskExecStartRequest\x1a\x30.modal.task_command_router.TaskExecStartResponse\x12\x84\x01\n\x13TaskExecStdinStatus\x12\x35.modal.task_command_router.TaskExecStdinStatusRequest\x1a\x36.modal.task_command_router.TaskExecStdinStatusResponse\x12\x81\x01\n\x12TaskExecStdinWrite\x12\x34.modal.task_command_router.TaskExecStdinWriteRequest\x1a\x35.modal.task_command_router.TaskExecStdinWriteResponse\x12\x95\x01\n\x18TaskExecStdinWriteStream\x12:.modal.task_command_router.TaskExecStdinWriteStreamRequest\x1a;.modal.task_command_router.TaskExecStdinWriteStreamResponse(\x01\x12\x80\x01\n\x11TaskExecStdioRead\x12\x33.modal.task_command_router.TaskExecStdioReadRequest\x1a\x34.modal.task_command_router.TaskExecStdioReadResponse0\x01\x12o\n\x0cTaskExecWait\x12..modal.task_command_router.TaskExecWaitRequest\x1a/.modal.task_command_router.TaskExecWaitResponse\x12\x62\n\x12TaskMountDirectory\x12\x34.modal.task_command_router.TaskMountDirectoryRequest\x1a\x16.google.protobuf.Empty\x12\x8a\x01\n\x15TaskSnapshotDirectory\x12\x37.modal.task_command_router.TaskSnapshotDirectoryRequest\x1a\x38.modal.task_command_router.TaskSnapshotDirectoryResponse\x12\x8d\x01\n\x16TaskSnapshotFilesystem\x12\x38.modal.task_command_router.TaskSnapshotFilesystemRequest\x1a\x39.modal.task_command_router.TaskSnapshotFilesystemResponse\x12\x66\n\x14TaskUnmountDirectory\x12\x36.modal.task_command_router.TaskUnmountDirectoryRequest\x1a\x16.google.protobuf.EmptyB&Z$github.com/modal-labs/modal/go/protob\x06proto3')
|
|
21
21
|
|
|
22
22
|
_SANDBOXSTDIOFILEDESCRIPTOR = DESCRIPTOR.enum_types_by_name['SandboxStdioFileDescriptor']
|
|
23
23
|
SandboxStdioFileDescriptor = enum_type_wrapper.EnumTypeWrapper(_SANDBOXSTDIOFILEDESCRIPTOR)
|
|
@@ -353,14 +353,14 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
353
353
|
_TASKCONTAINERCREATEREQUEST_ENVENTRY._serialized_options = b'8\001'
|
|
354
354
|
_TASKEXECSTARTREQUEST_ENVENTRY._options = None
|
|
355
355
|
_TASKEXECSTARTREQUEST_ENVENTRY._serialized_options = b'8\001'
|
|
356
|
-
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=
|
|
357
|
-
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=
|
|
358
|
-
_TASKEXECSTDERRCONFIG._serialized_start=
|
|
359
|
-
_TASKEXECSTDERRCONFIG._serialized_end=
|
|
360
|
-
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=
|
|
361
|
-
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=
|
|
362
|
-
_TASKEXECSTDOUTCONFIG._serialized_start=
|
|
363
|
-
_TASKEXECSTDOUTCONFIG._serialized_end=
|
|
356
|
+
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_start=3839
|
|
357
|
+
_SANDBOXSTDIOFILEDESCRIPTOR._serialized_end=3951
|
|
358
|
+
_TASKEXECSTDERRCONFIG._serialized_start=3954
|
|
359
|
+
_TASKEXECSTDERRCONFIG._serialized_end=4083
|
|
360
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_start=4085
|
|
361
|
+
_TASKEXECSTDIOFILEDESCRIPTOR._serialized_end=4202
|
|
362
|
+
_TASKEXECSTDOUTCONFIG._serialized_start=4204
|
|
363
|
+
_TASKEXECSTDOUTCONFIG._serialized_end=4297
|
|
364
364
|
_SANDBOXSTDINWRITEV2REQUEST._serialized_start=120
|
|
365
365
|
_SANDBOXSTDINWRITEV2REQUEST._serialized_end=208
|
|
366
366
|
_SANDBOXSTDINWRITEV2RESPONSE._serialized_start=210
|
|
@@ -431,12 +431,12 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
431
431
|
_TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=3474
|
|
432
432
|
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=3476
|
|
433
433
|
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=3525
|
|
434
|
-
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_start=
|
|
435
|
-
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=
|
|
436
|
-
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=
|
|
437
|
-
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=
|
|
438
|
-
_TASKUNMOUNTDIRECTORYREQUEST._serialized_start=
|
|
439
|
-
_TASKUNMOUNTDIRECTORYREQUEST._serialized_end=
|
|
440
|
-
_TASKCOMMANDROUTER._serialized_start=
|
|
441
|
-
_TASKCOMMANDROUTER._serialized_end=
|
|
434
|
+
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_start=3528
|
|
435
|
+
_TASKSNAPSHOTFILESYSTEMREQUEST._serialized_end=3723
|
|
436
|
+
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_start=3725
|
|
437
|
+
_TASKSNAPSHOTFILESYSTEMRESPONSE._serialized_end=3775
|
|
438
|
+
_TASKUNMOUNTDIRECTORYREQUEST._serialized_start=3777
|
|
439
|
+
_TASKUNMOUNTDIRECTORYREQUEST._serialized_end=3837
|
|
440
|
+
_TASKCOMMANDROUTER._serialized_start=4300
|
|
441
|
+
_TASKCOMMANDROUTER._serialized_end=6629
|
|
442
442
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -858,6 +858,7 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
858
858
|
TASK_ID_FIELD_NUMBER: builtins.int
|
|
859
859
|
SNAPSHOT_ID_FIELD_NUMBER: builtins.int
|
|
860
860
|
TTL_SECONDS_FIELD_NUMBER: builtins.int
|
|
861
|
+
CUSTOMER_SUPPLIED_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
|
|
861
862
|
task_id: builtins.str
|
|
862
863
|
snapshot_id: builtins.str
|
|
863
864
|
"""A unique ID to ensure idempotency of filesystem snapshot requests."""
|
|
@@ -870,15 +871,23 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
870
871
|
0 and other negative values are invalid and rejected by the
|
|
871
872
|
server.
|
|
872
873
|
"""
|
|
874
|
+
customer_supplied_encryption_key: builtins.bytes
|
|
875
|
+
"""Customer-supplied encryption key used to encrypt the resulting image's data and tree
|
|
876
|
+
metadata keys. This key is not persisted by Modal.
|
|
877
|
+
"""
|
|
873
878
|
def __init__(
|
|
874
879
|
self,
|
|
875
880
|
*,
|
|
876
881
|
task_id: builtins.str = ...,
|
|
877
882
|
snapshot_id: builtins.str = ...,
|
|
878
883
|
ttl_seconds: builtins.int | None = ...,
|
|
884
|
+
customer_supplied_encryption_key: builtins.bytes | None = ...,
|
|
879
885
|
) -> None: ...
|
|
880
|
-
def HasField(self, field_name: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds", "ttl_seconds", b"ttl_seconds"]) -> builtins.bool: ...
|
|
881
|
-
def ClearField(self, field_name: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
886
|
+
def HasField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "_ttl_seconds", b"_ttl_seconds", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "ttl_seconds", b"ttl_seconds"]) -> builtins.bool: ...
|
|
887
|
+
def ClearField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "_ttl_seconds", b"_ttl_seconds", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
888
|
+
@typing.overload
|
|
889
|
+
def WhichOneof(self, oneof_group: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key"]) -> typing_extensions.Literal["customer_supplied_encryption_key"] | None: ...
|
|
890
|
+
@typing.overload
|
|
882
891
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds"]) -> typing_extensions.Literal["ttl_seconds"] | None: ...
|
|
883
892
|
|
|
884
893
|
global___TaskSnapshotFilesystemRequest = TaskSnapshotFilesystemRequest
|
|
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
|