modal 1.4.4.dev21__tar.gz → 1.4.4.dev22__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.dev21 → modal-1.4.4.dev22}/PKG-INFO +1 -1
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_server.py +3 -3
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/app.py +5 -5
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/app.pyi +6 -6
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/client.pyi +2 -2
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/functions.pyi +6 -6
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/server.pyi +1 -1
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_version/__init__.py +1 -1
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/LICENSE +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/README.md +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/__main__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_billing.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_clustered_functions.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_clustered_functions.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_container_entrypoint.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_environments.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_function_variants.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_functions.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_grpc_client.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_image.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_ipython.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_load_context.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_location.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_logs.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_object.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_output/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_output/manager.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_output/pty.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_output/rich.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_output/status.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_partial_function.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_resolver.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_resources.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/asgi.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/execution_context.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/task_lifecycle_manager.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/task_lifecycle_manager.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/telemetry.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/user_code_event_loop.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_serialization.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_traceback.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_tunnel.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_tunnel.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_type_manager.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/app_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/async_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/blob_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/browser_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/deprecation.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/docker_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/function_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/git_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/hash_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/http_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/logger.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/mount_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/name_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/package_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/sandbox_fs_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/shell_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/task_command_router_client.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_utils/time_utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_vendor/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_vendor/tblib.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_vendor/version.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_watcher.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/_workspace.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/billing.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/2023.12.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/2024.04.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/2024.10.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/2025.06.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/README.md +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/builder/base-images.json +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/call_graph.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/_download.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/_help.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/_traceback.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/app.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/billing.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/bootstrap.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/changelog.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/cluster.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/config.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/container.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/dashboard.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/dict.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/entry_point.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/environment.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/image.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/import_refs.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/launch.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/logo.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/network_file_system.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/profile.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/programs/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/programs/vscode.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/queues.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/run.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/secret.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/selector.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/shell.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/skills.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/token.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/utils.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cli/volume.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/client.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cls.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/cls.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/config.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/container_process.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/container_process.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/dict.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/dict.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/environments.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/environments.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/exception.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/experimental/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/experimental/flash.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/experimental/flash.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/experimental/ipython.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/file_io.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/file_io.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/file_pattern_matcher.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/functions.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/image.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/image.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/io_streams.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/io_streams.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/mount.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/mount.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/network_file_system.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/network_file_system.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/object.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/object.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/output.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/parallel_map.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/parallel_map.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/partial_function.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/partial_function.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/proxy.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/proxy.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/py.typed +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/queue.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/queue.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/retries.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/runner.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/runner.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/running_app.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/sandbox.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/sandbox.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/sandbox_fs.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/sandbox_fs.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/schedule.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/scheduler_placement.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/secret.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/secret.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/server.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/serving.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/serving.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/skills/modal/SKILL.md +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/snapshot.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/snapshot.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/stream_type.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/token_flow.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/token_flow.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/volume.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/volume.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/workspace.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal/workspace.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/requires.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal.egg-info/top_level.txt +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/gen_cli_docs_main.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/gen_reference_docs_main.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_docs/mdmd/types.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/__init__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/api_grpc.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/api_pb2.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/py.typed +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/task_command_router_grpc.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/task_command_router_pb2.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/task_command_router_pb2.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/task_command_router_pb2_grpc.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_proto/task_command_router_pb2_grpc.pyi +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/modal_version/__main__.py +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/pyproject.toml +0 -0
- {modal-1.4.4.dev21 → modal-1.4.4.dev22}/setup.cfg +0 -0
|
@@ -34,9 +34,9 @@ def validate_http_server_config(
|
|
|
34
34
|
if not is_server and exit_grace_period is not None and exit_grace_period > 25:
|
|
35
35
|
raise InvalidError("The `exit_grace_period` argument must not exceed 25 seconds.")
|
|
36
36
|
|
|
37
|
-
if not proxy_regions:
|
|
37
|
+
if not proxy_regions or not proxy_regions[0]:
|
|
38
38
|
if is_server:
|
|
39
|
-
raise InvalidError("The `
|
|
39
|
+
raise InvalidError("The `routing_region` argument must be passed.")
|
|
40
40
|
raise InvalidError("The `proxy_regions` argument must be non-empty.")
|
|
41
41
|
|
|
42
42
|
|
|
@@ -49,7 +49,7 @@ class _Server:
|
|
|
49
49
|
Instead, use the [`@app._experimental_server()`](https://modal.com/docs/reference/modal.App#server) decorator.
|
|
50
50
|
|
|
51
51
|
```python notest
|
|
52
|
-
@app._experimental_server(port=8000,
|
|
52
|
+
@app._experimental_server(port=8000, routing_region="us-east")
|
|
53
53
|
class MyServer:
|
|
54
54
|
@modal.enter()
|
|
55
55
|
def start_server(self):
|
|
@@ -1289,7 +1289,7 @@ class _App:
|
|
|
1289
1289
|
port: int = 8000, # Port the HTTP server listens on
|
|
1290
1290
|
startup_timeout: int = 30, # Maximum startup time in seconds
|
|
1291
1291
|
exit_grace_period: int = 0, # Grace period for in-flight requests on shutdown
|
|
1292
|
-
|
|
1292
|
+
routing_region: str = "us-east", # Region to route Server requests through
|
|
1293
1293
|
h2_enabled: bool = False, # Enable HTTP/2
|
|
1294
1294
|
target_concurrency: int | None = None, # Target concurrency for the server; 0 disables autoscaling
|
|
1295
1295
|
cloud: str | None = None, # Cloud provider (aws, gcp, oci, auto)
|
|
@@ -1331,7 +1331,7 @@ class _App:
|
|
|
1331
1331
|
port: Port the HTTP server listens on.
|
|
1332
1332
|
startup_timeout: Maximum startup time in seconds.
|
|
1333
1333
|
exit_grace_period: Grace period for in-flight requests on shutdown.
|
|
1334
|
-
|
|
1334
|
+
routing_region: Region to route Server requests through.
|
|
1335
1335
|
h2_enabled: Enable HTTP/2.
|
|
1336
1336
|
target_concurrency: Target concurrency for the server; 0 disables autoscaling.
|
|
1337
1337
|
cloud: Cloud provider (aws, gcp, oci, auto).
|
|
@@ -1344,7 +1344,7 @@ class _App:
|
|
|
1344
1344
|
|
|
1345
1345
|
Examples:
|
|
1346
1346
|
```python
|
|
1347
|
-
@app._experimental_server(port=8000,
|
|
1347
|
+
@app._experimental_server(port=8000, routing_region="us-east")
|
|
1348
1348
|
class MyServer:
|
|
1349
1349
|
@modal.enter()
|
|
1350
1350
|
def start(self):
|
|
@@ -1361,7 +1361,7 @@ class _App:
|
|
|
1361
1361
|
# Validate HTTP server config
|
|
1362
1362
|
validate_http_server_config(
|
|
1363
1363
|
port=port,
|
|
1364
|
-
proxy_regions=
|
|
1364
|
+
proxy_regions=[routing_region],
|
|
1365
1365
|
startup_timeout=startup_timeout,
|
|
1366
1366
|
exit_grace_period=exit_grace_period,
|
|
1367
1367
|
is_server=True,
|
|
@@ -1373,7 +1373,7 @@ class _App:
|
|
|
1373
1373
|
|
|
1374
1374
|
http_config = api_pb2.HTTPConfig(
|
|
1375
1375
|
port=port,
|
|
1376
|
-
proxy_regions=
|
|
1376
|
+
proxy_regions=[routing_region],
|
|
1377
1377
|
startup_timeout=startup_timeout,
|
|
1378
1378
|
exit_grace_period=exit_grace_period,
|
|
1379
1379
|
h2_enabled=h2_enabled,
|
|
@@ -752,7 +752,7 @@ class _App:
|
|
|
752
752
|
port: int = 8000,
|
|
753
753
|
startup_timeout: int = 30,
|
|
754
754
|
exit_grace_period: int = 0,
|
|
755
|
-
|
|
755
|
+
routing_region: str = "us-east",
|
|
756
756
|
h2_enabled: bool = False,
|
|
757
757
|
target_concurrency: typing.Optional[int] = None,
|
|
758
758
|
cloud: typing.Optional[str] = None,
|
|
@@ -794,7 +794,7 @@ class _App:
|
|
|
794
794
|
port: Port the HTTP server listens on.
|
|
795
795
|
startup_timeout: Maximum startup time in seconds.
|
|
796
796
|
exit_grace_period: Grace period for in-flight requests on shutdown.
|
|
797
|
-
|
|
797
|
+
routing_region: Region to route Server requests through.
|
|
798
798
|
h2_enabled: Enable HTTP/2.
|
|
799
799
|
target_concurrency: Target concurrency for the server; 0 disables autoscaling.
|
|
800
800
|
cloud: Cloud provider (aws, gcp, oci, auto).
|
|
@@ -807,7 +807,7 @@ class _App:
|
|
|
807
807
|
|
|
808
808
|
Examples:
|
|
809
809
|
```python
|
|
810
|
-
@app._experimental_server(port=8000,
|
|
810
|
+
@app._experimental_server(port=8000, routing_region="us-east")
|
|
811
811
|
class MyServer:
|
|
812
812
|
@modal.enter()
|
|
813
813
|
def start(self):
|
|
@@ -1750,7 +1750,7 @@ class App:
|
|
|
1750
1750
|
port: int = 8000,
|
|
1751
1751
|
startup_timeout: int = 30,
|
|
1752
1752
|
exit_grace_period: int = 0,
|
|
1753
|
-
|
|
1753
|
+
routing_region: str = "us-east",
|
|
1754
1754
|
h2_enabled: bool = False,
|
|
1755
1755
|
target_concurrency: typing.Optional[int] = None,
|
|
1756
1756
|
cloud: typing.Optional[str] = None,
|
|
@@ -1790,7 +1790,7 @@ class App:
|
|
|
1790
1790
|
port: Port the HTTP server listens on.
|
|
1791
1791
|
startup_timeout: Maximum startup time in seconds.
|
|
1792
1792
|
exit_grace_period: Grace period for in-flight requests on shutdown.
|
|
1793
|
-
|
|
1793
|
+
routing_region: Region to route Server requests through.
|
|
1794
1794
|
h2_enabled: Enable HTTP/2.
|
|
1795
1795
|
target_concurrency: Target concurrency for the server; 0 disables autoscaling.
|
|
1796
1796
|
cloud: Cloud provider (aws, gcp, oci, auto).
|
|
@@ -1803,7 +1803,7 @@ class App:
|
|
|
1803
1803
|
|
|
1804
1804
|
Examples:
|
|
1805
1805
|
```python
|
|
1806
|
-
@app._experimental_server(port=8000,
|
|
1806
|
+
@app._experimental_server(port=8000, routing_region="us-east")
|
|
1807
1807
|
class MyServer:
|
|
1808
1808
|
@modal.enter()
|
|
1809
1809
|
def start(self):
|
|
@@ -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.dev22",
|
|
39
39
|
):
|
|
40
40
|
"""mdmd:hidden
|
|
41
41
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -205,7 +205,7 @@ class Client:
|
|
|
205
205
|
server_url: str,
|
|
206
206
|
client_type: int,
|
|
207
207
|
credentials: typing.Optional[tuple[str, str]],
|
|
208
|
-
version: str = "1.4.4.
|
|
208
|
+
version: str = "1.4.4.dev22",
|
|
209
209
|
):
|
|
210
210
|
"""mdmd:hidden
|
|
211
211
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -487,7 +487,7 @@ class Function(
|
|
|
487
487
|
|
|
488
488
|
_call_generator: ___call_generator_spec
|
|
489
489
|
|
|
490
|
-
class __remote_spec(typing_extensions.Protocol[
|
|
490
|
+
class __remote_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
491
491
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> ReturnType_INNER:
|
|
492
492
|
"""Calls the function remotely, executing it with the given arguments and returning the execution's result.
|
|
493
493
|
|
|
@@ -512,7 +512,7 @@ class Function(
|
|
|
512
512
|
"""
|
|
513
513
|
...
|
|
514
514
|
|
|
515
|
-
remote: __remote_spec[modal._functions.
|
|
515
|
+
remote: __remote_spec[modal._functions.P, modal._functions.ReturnType]
|
|
516
516
|
|
|
517
517
|
class __remote_gen_spec(typing_extensions.Protocol):
|
|
518
518
|
def __call__(self, /, *args, **kwargs) -> typing.Generator[typing.Any, None, None]:
|
|
@@ -562,7 +562,7 @@ class Function(
|
|
|
562
562
|
"""
|
|
563
563
|
...
|
|
564
564
|
|
|
565
|
-
class ___experimental_spawn_spec(typing_extensions.Protocol[
|
|
565
|
+
class ___experimental_spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
566
566
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
567
567
|
"""[Experimental] Calls the function with the given arguments, without waiting for the results.
|
|
568
568
|
|
|
@@ -595,7 +595,7 @@ class Function(
|
|
|
595
595
|
"""
|
|
596
596
|
...
|
|
597
597
|
|
|
598
|
-
_experimental_spawn: ___experimental_spawn_spec[modal._functions.
|
|
598
|
+
_experimental_spawn: ___experimental_spawn_spec[modal._functions.P, modal._functions.ReturnType]
|
|
599
599
|
|
|
600
600
|
class ___spawn_map_inner_spec(typing_extensions.Protocol[P_INNER]):
|
|
601
601
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> None: ...
|
|
@@ -603,7 +603,7 @@ class Function(
|
|
|
603
603
|
|
|
604
604
|
_spawn_map_inner: ___spawn_map_inner_spec[modal._functions.P]
|
|
605
605
|
|
|
606
|
-
class __spawn_spec(typing_extensions.Protocol[
|
|
606
|
+
class __spawn_spec(typing_extensions.Protocol[P_INNER, ReturnType_INNER]):
|
|
607
607
|
def __call__(self, /, *args: P_INNER.args, **kwargs: P_INNER.kwargs) -> FunctionCall[ReturnType_INNER]:
|
|
608
608
|
"""Calls the function with the given arguments, without waiting for the results.
|
|
609
609
|
|
|
@@ -636,7 +636,7 @@ class Function(
|
|
|
636
636
|
"""
|
|
637
637
|
...
|
|
638
638
|
|
|
639
|
-
spawn: __spawn_spec[modal._functions.
|
|
639
|
+
spawn: __spawn_spec[modal._functions.P, modal._functions.ReturnType]
|
|
640
640
|
|
|
641
641
|
def get_raw_f(self) -> collections.abc.Callable[..., typing.Any]:
|
|
642
642
|
"""Return the inner Python object wrapped by this Modal Function.
|
|
@@ -14,7 +14,7 @@ class Server:
|
|
|
14
14
|
Instead, use the [`@app._experimental_server()`](https://modal.com/docs/reference/modal.App#server) decorator.
|
|
15
15
|
|
|
16
16
|
```python notest
|
|
17
|
-
@app._experimental_server(port=8000,
|
|
17
|
+
@app._experimental_server(port=8000, routing_region="us-east")
|
|
18
18
|
class MyServer:
|
|
19
19
|
@modal.enter()
|
|
20
20
|
def start_server(self):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|