modal 1.4.4.dev11__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.dev11 → modal-1.4.4.dev13}/PKG-INFO +1 -1
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/client.pyi +2 -2
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/gen_reference_docs.py +11 -22
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/mdmd/mdmd.py +13 -1
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2.py +23 -23
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2.pyi +31 -5
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_version/__init__.py +1 -1
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/LICENSE +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/README.md +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/__main__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_billing.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_clustered_functions.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_clustered_functions.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_container_entrypoint.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_environments.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_function_variants.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_functions.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_grpc_client.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_ipython.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_load_context.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_location.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_logs.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_object.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_output/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_output/manager.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_output/pty.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_output/rich.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_output/status.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_partial_function.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_resolver.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_resources.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/asgi.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/execution_context.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/task_lifecycle_manager.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/telemetry.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_serialization.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_server.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_traceback.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_tunnel.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_tunnel.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_type_manager.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/app_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/async_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/blob_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/browser_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/deprecation.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/docker_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/function_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/git_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/hash_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/http_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/logger.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/mount_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/name_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/package_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/sandbox_fs_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/shell_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_utils/time_utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_vendor/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_vendor/tblib.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_vendor/version.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_watcher.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/_workspace.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/app.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/app.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/billing.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/2023.12.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/2024.04.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/2024.10.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/2025.06.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/README.md +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/builder/base-images.json +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/call_graph.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/_download.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/_help.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/_traceback.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/app.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/billing.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/bootstrap.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/changelog.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/cluster.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/config.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/container.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/dashboard.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/dict.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/entry_point.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/environment.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/import_refs.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/launch.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/logo.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/network_file_system.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/profile.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/programs/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/programs/vscode.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/queues.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/run.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/secret.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/selector.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/shell.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/token.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/utils.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cli/volume.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/client.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cls.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/cls.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/config.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/container_process.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/container_process.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/dict.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/dict.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/environments.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/environments.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/exception.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/experimental/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/experimental/flash.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/experimental/flash.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/experimental/ipython.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/file_io.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/file_io.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/file_pattern_matcher.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/functions.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/functions.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/image.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/image.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/io_streams.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/io_streams.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/mount.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/mount.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/network_file_system.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/network_file_system.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/object.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/object.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/output.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/parallel_map.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/parallel_map.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/partial_function.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/partial_function.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/proxy.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/proxy.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/py.typed +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/queue.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/queue.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/retries.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/runner.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/runner.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/running_app.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/sandbox.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/sandbox.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/sandbox_fs.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/sandbox_fs.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/schedule.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/scheduler_placement.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/secret.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/secret.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/server.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/server.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/serving.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/serving.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/snapshot.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/snapshot.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/stream_type.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/token_flow.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/token_flow.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/volume.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/volume.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/workspace.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal/workspace.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/requires.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal.egg-info/top_level.txt +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/gen_cli_docs_main.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/gen_reference_docs_main.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/__init__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/api_grpc.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/api_pb2.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/py.typed +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/modal_version/__main__.py +0 -0
- {modal-1.4.4.dev11 → modal-1.4.4.dev13}/pyproject.toml +0 -0
- {modal-1.4.4.dev11 → 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.
|
|
@@ -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\"
|
|
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
|
|
@@ -425,18 +425,18 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
425
425
|
_TASKEXECWAITREQUEST._serialized_end=3027
|
|
426
426
|
_TASKEXECWAITRESPONSE._serialized_start=3029
|
|
427
427
|
_TASKEXECWAITRESPONSE._serialized_end=3100
|
|
428
|
-
_TASKMOUNTDIRECTORYREQUEST._serialized_start=
|
|
429
|
-
_TASKMOUNTDIRECTORYREQUEST._serialized_end=
|
|
430
|
-
_TASKSNAPSHOTDIRECTORYREQUEST._serialized_start=
|
|
431
|
-
_TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=
|
|
432
|
-
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=
|
|
433
|
-
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=
|
|
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=
|
|
428
|
+
_TASKMOUNTDIRECTORYREQUEST._serialized_start=3103
|
|
429
|
+
_TASKMOUNTDIRECTORYREQUEST._serialized_end=3263
|
|
430
|
+
_TASKSNAPSHOTDIRECTORYREQUEST._serialized_start=3266
|
|
431
|
+
_TASKSNAPSHOTDIRECTORYREQUEST._serialized_end=3474
|
|
432
|
+
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_start=3476
|
|
433
|
+
_TASKSNAPSHOTDIRECTORYRESPONSE._serialized_end=3525
|
|
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)
|
|
@@ -769,17 +769,25 @@ class TaskMountDirectoryRequest(google.protobuf.message.Message):
|
|
|
769
769
|
TASK_ID_FIELD_NUMBER: builtins.int
|
|
770
770
|
PATH_FIELD_NUMBER: builtins.int
|
|
771
771
|
IMAGE_ID_FIELD_NUMBER: builtins.int
|
|
772
|
+
CUSTOMER_SUPPLIED_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
|
|
772
773
|
task_id: builtins.str
|
|
773
774
|
path: builtins.bytes
|
|
774
775
|
image_id: builtins.str
|
|
776
|
+
customer_supplied_encryption_key: builtins.bytes
|
|
777
|
+
"""Customer-supplied encryption key used to decrypt CSEK-encrypted image metadata keys.
|
|
778
|
+
This key is not persisted by Modal.
|
|
779
|
+
"""
|
|
775
780
|
def __init__(
|
|
776
781
|
self,
|
|
777
782
|
*,
|
|
778
783
|
task_id: builtins.str = ...,
|
|
779
784
|
path: builtins.bytes = ...,
|
|
780
785
|
image_id: builtins.str = ...,
|
|
786
|
+
customer_supplied_encryption_key: builtins.bytes | None = ...,
|
|
781
787
|
) -> None: ...
|
|
782
|
-
def
|
|
788
|
+
def HasField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "customer_supplied_encryption_key", b"customer_supplied_encryption_key"]) -> builtins.bool: ...
|
|
789
|
+
def ClearField(self, field_name: typing_extensions.Literal["_customer_supplied_encryption_key", b"_customer_supplied_encryption_key", "customer_supplied_encryption_key", b"customer_supplied_encryption_key", "image_id", b"image_id", "path", b"path", "task_id", b"task_id"]) -> None: ...
|
|
790
|
+
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: ...
|
|
783
791
|
|
|
784
792
|
global___TaskMountDirectoryRequest = TaskMountDirectoryRequest
|
|
785
793
|
|
|
@@ -790,6 +798,7 @@ class TaskSnapshotDirectoryRequest(google.protobuf.message.Message):
|
|
|
790
798
|
PATH_FIELD_NUMBER: builtins.int
|
|
791
799
|
SNAPSHOT_ID_FIELD_NUMBER: builtins.int
|
|
792
800
|
TTL_SECONDS_FIELD_NUMBER: builtins.int
|
|
801
|
+
CUSTOMER_SUPPLIED_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
|
|
793
802
|
task_id: builtins.str
|
|
794
803
|
path: builtins.bytes
|
|
795
804
|
snapshot_id: builtins.str
|
|
@@ -807,6 +816,10 @@ class TaskSnapshotDirectoryRequest(google.protobuf.message.Message):
|
|
|
807
816
|
0 and other negative values are invalid and rejected by the
|
|
808
817
|
server.
|
|
809
818
|
"""
|
|
819
|
+
customer_supplied_encryption_key: builtins.bytes
|
|
820
|
+
"""Customer-supplied encryption key used to encrypt the resulting image's data and tree
|
|
821
|
+
metadata keys. This key is not persisted by Modal.
|
|
822
|
+
"""
|
|
810
823
|
def __init__(
|
|
811
824
|
self,
|
|
812
825
|
*,
|
|
@@ -814,9 +827,13 @@ class TaskSnapshotDirectoryRequest(google.protobuf.message.Message):
|
|
|
814
827
|
path: builtins.bytes = ...,
|
|
815
828
|
snapshot_id: builtins.str = ...,
|
|
816
829
|
ttl_seconds: builtins.int | None = ...,
|
|
830
|
+
customer_supplied_encryption_key: builtins.bytes | None = ...,
|
|
817
831
|
) -> None: ...
|
|
818
|
-
def HasField(self, field_name: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds", "ttl_seconds", b"ttl_seconds"]) -> builtins.bool: ...
|
|
819
|
-
def ClearField(self, field_name: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds", "path", b"path", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
832
|
+
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: ...
|
|
833
|
+
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", "path", b"path", "snapshot_id", b"snapshot_id", "task_id", b"task_id", "ttl_seconds", b"ttl_seconds"]) -> None: ...
|
|
834
|
+
@typing.overload
|
|
835
|
+
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: ...
|
|
836
|
+
@typing.overload
|
|
820
837
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds"]) -> typing_extensions.Literal["ttl_seconds"] | None: ...
|
|
821
838
|
|
|
822
839
|
global___TaskSnapshotDirectoryRequest = TaskSnapshotDirectoryRequest
|
|
@@ -841,6 +858,7 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
841
858
|
TASK_ID_FIELD_NUMBER: builtins.int
|
|
842
859
|
SNAPSHOT_ID_FIELD_NUMBER: builtins.int
|
|
843
860
|
TTL_SECONDS_FIELD_NUMBER: builtins.int
|
|
861
|
+
CUSTOMER_SUPPLIED_ENCRYPTION_KEY_FIELD_NUMBER: builtins.int
|
|
844
862
|
task_id: builtins.str
|
|
845
863
|
snapshot_id: builtins.str
|
|
846
864
|
"""A unique ID to ensure idempotency of filesystem snapshot requests."""
|
|
@@ -853,15 +871,23 @@ class TaskSnapshotFilesystemRequest(google.protobuf.message.Message):
|
|
|
853
871
|
0 and other negative values are invalid and rejected by the
|
|
854
872
|
server.
|
|
855
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
|
+
"""
|
|
856
878
|
def __init__(
|
|
857
879
|
self,
|
|
858
880
|
*,
|
|
859
881
|
task_id: builtins.str = ...,
|
|
860
882
|
snapshot_id: builtins.str = ...,
|
|
861
883
|
ttl_seconds: builtins.int | None = ...,
|
|
884
|
+
customer_supplied_encryption_key: builtins.bytes | None = ...,
|
|
862
885
|
) -> None: ...
|
|
863
|
-
def HasField(self, field_name: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds", "ttl_seconds", b"ttl_seconds"]) -> builtins.bool: ...
|
|
864
|
-
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
|
|
865
891
|
def WhichOneof(self, oneof_group: typing_extensions.Literal["_ttl_seconds", b"_ttl_seconds"]) -> typing_extensions.Literal["ttl_seconds"] | None: ...
|
|
866
892
|
|
|
867
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
|