modal 1.1.5.dev82__tar.gz → 1.1.5.dev84__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of modal might be problematic. Click here for more details.
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/PKG-INFO +1 -1
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/client.pyi +2 -2
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/parallel_map.py +13 -13
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/PKG-INFO +1 -1
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api.proto +38 -39
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api_grpc.py +0 -1
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api_pb2.py +1021 -1090
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_version/__init__.py +1 -1
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/LICENSE +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/README.md +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/__main__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_clustered_functions.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_clustered_functions.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_container_entrypoint.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_functions.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_ipython.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_location.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_object.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_output.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_partial_function.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_pty.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_resolver.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_resources.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/asgi.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/container_io_manager.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/container_io_manager.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/execution_context.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/execution_context.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/gpu_memory_snapshot.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/telemetry.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_runtime/user_code_imports.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_serialization.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_traceback.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_tunnel.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_tunnel.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_type_manager.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/app_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/async_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/auth_token_manager.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/blob_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/bytes_io_segment_payload.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/deprecation.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/docker_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/function_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/git_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/grpc_testing.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/grpc_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/hash_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/http_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/jwt_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/logger.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/mount_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/name_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/package_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/pattern_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/rand_pb_testing.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/shell_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_utils/time_utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_vendor/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_vendor/a2wsgi_wsgi.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_vendor/cloudpickle.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_vendor/tblib.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/_watcher.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/app.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/app.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/2023.12.312.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/2023.12.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/2024.04.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/2024.10.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/2025.06.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/PREVIEW.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/README.md +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/builder/base-images.json +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/call_graph.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/_download.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/_traceback.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/app.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/cluster.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/config.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/container.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/dict.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/entry_point.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/environment.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/import_refs.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/launch.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/network_file_system.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/profile.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/programs/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/programs/launch_instance_ssh.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/programs/run_jupyter.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/programs/run_marimo.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/programs/vscode.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/queues.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/run.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/secret.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/token.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/utils.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cli/volume.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/client.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cloud_bucket_mount.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cloud_bucket_mount.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cls.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/cls.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/config.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/container_process.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/container_process.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/dict.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/dict.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/environments.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/environments.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/exception.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/experimental/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/experimental/flash.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/experimental/flash.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/experimental/ipython.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/file_io.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/file_io.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/file_pattern_matcher.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/functions.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/functions.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/gpu.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/image.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/image.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/io_streams.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/io_streams.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/mount.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/mount.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/network_file_system.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/network_file_system.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/object.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/object.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/output.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/parallel_map.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/partial_function.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/partial_function.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/proxy.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/proxy.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/py.typed +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/queue.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/queue.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/retries.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/runner.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/runner.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/running_app.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/sandbox.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/sandbox.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/schedule.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/scheduler_placement.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/secret.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/secret.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/serving.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/serving.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/snapshot.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/snapshot.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/stream_type.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/token_flow.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/token_flow.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/volume.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal/volume.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/SOURCES.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/dependency_links.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/entry_points.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/requires.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal.egg-info/top_level.txt +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/gen_cli_docs.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/gen_reference_docs.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/mdmd/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/mdmd/mdmd.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_docs/mdmd/signatures.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/__init__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api_pb2.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api_pb2_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/api_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/modal_api_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/modal_options_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options.proto +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options_pb2.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options_pb2.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options_pb2_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/options_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/py.typed +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router.proto +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router_pb2.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router_pb2.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router_pb2_grpc.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_proto/sandbox_router_pb2_grpc.pyi +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/modal_version/__main__.py +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/pyproject.toml +0 -0
- {modal-1.1.5.dev82 → modal-1.1.5.dev84}/setup.cfg +0 -0
|
@@ -33,7 +33,7 @@ class _Client:
|
|
|
33
33
|
server_url: str,
|
|
34
34
|
client_type: int,
|
|
35
35
|
credentials: typing.Optional[tuple[str, str]],
|
|
36
|
-
version: str = "1.1.5.
|
|
36
|
+
version: str = "1.1.5.dev84",
|
|
37
37
|
):
|
|
38
38
|
"""mdmd:hidden
|
|
39
39
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -164,7 +164,7 @@ class Client:
|
|
|
164
164
|
server_url: str,
|
|
165
165
|
client_type: int,
|
|
166
166
|
credentials: typing.Optional[tuple[str, str]],
|
|
167
|
-
version: str = "1.1.5.
|
|
167
|
+
version: str = "1.1.5.dev84",
|
|
168
168
|
):
|
|
169
169
|
"""mdmd:hidden
|
|
170
170
|
The Modal client object is not intended to be instantiated directly by users.
|
|
@@ -671,8 +671,8 @@ async def _map_invocation_inputplane(
|
|
|
671
671
|
last_entry_id = ""
|
|
672
672
|
|
|
673
673
|
# The input-plane server returns this after the first request.
|
|
674
|
-
|
|
675
|
-
|
|
674
|
+
map_token = None
|
|
675
|
+
map_token_received = asyncio.Event()
|
|
676
676
|
|
|
677
677
|
# Single priority queue that holds *both* fresh inputs (timestamp == now)
|
|
678
678
|
# and future retries (timestamp > now).
|
|
@@ -751,7 +751,7 @@ async def _map_invocation_inputplane(
|
|
|
751
751
|
yield
|
|
752
752
|
|
|
753
753
|
async def pump_inputs():
|
|
754
|
-
nonlocal
|
|
754
|
+
nonlocal map_token, max_inputs_outstanding
|
|
755
755
|
async for batch in queue_batch_iterator(queue, max_batch_size=MAP_INVOCATION_CHUNK_SIZE):
|
|
756
756
|
# Convert the queued items into the proto format expected by the RPC.
|
|
757
757
|
request_items: list[api_pb2.MapStartOrContinueItem] = [
|
|
@@ -763,7 +763,7 @@ async def _map_invocation_inputplane(
|
|
|
763
763
|
# Build request
|
|
764
764
|
request = api_pb2.MapStartOrContinueRequest(
|
|
765
765
|
function_id=function.object_id,
|
|
766
|
-
|
|
766
|
+
map_token=map_token,
|
|
767
767
|
parent_input_id=current_input_id() or "",
|
|
768
768
|
items=request_items,
|
|
769
769
|
)
|
|
@@ -789,9 +789,9 @@ async def _map_invocation_inputplane(
|
|
|
789
789
|
|
|
790
790
|
# Set the function call id and actual retry policy with the data from the first response.
|
|
791
791
|
# This conditional is skipped for subsequent iterations of this for-loop.
|
|
792
|
-
if
|
|
793
|
-
|
|
794
|
-
|
|
792
|
+
if map_token is None:
|
|
793
|
+
map_token = response.map_token
|
|
794
|
+
map_token_received.set()
|
|
795
795
|
max_inputs_outstanding = response.max_inputs_outstanding or MAX_INPUTS_OUTSTANDING_DEFAULT
|
|
796
796
|
map_items_manager.set_retry_policy(response.retry_policy)
|
|
797
797
|
# Update the retry policy for the first batch of inputs.
|
|
@@ -804,8 +804,8 @@ async def _map_invocation_inputplane(
|
|
|
804
804
|
nonlocal last_entry_id # shared with get_all_outputs
|
|
805
805
|
try:
|
|
806
806
|
while not map_done_event.is_set():
|
|
807
|
-
if
|
|
808
|
-
await
|
|
807
|
+
if map_token is None:
|
|
808
|
+
await map_token_received.wait()
|
|
809
809
|
continue
|
|
810
810
|
|
|
811
811
|
sleep_task = asyncio.create_task(asyncio.sleep(1))
|
|
@@ -847,12 +847,12 @@ async def _map_invocation_inputplane(
|
|
|
847
847
|
last_entry_id
|
|
848
848
|
|
|
849
849
|
while not map_done_event.is_set():
|
|
850
|
-
if
|
|
851
|
-
await
|
|
850
|
+
if map_token is None:
|
|
851
|
+
await map_token_received.wait()
|
|
852
852
|
continue
|
|
853
853
|
|
|
854
854
|
request = api_pb2.MapAwaitRequest(
|
|
855
|
-
|
|
855
|
+
map_token=map_token,
|
|
856
856
|
last_entry_id=last_entry_id,
|
|
857
857
|
requested_at=time.time(),
|
|
858
858
|
timeout=OUTPUTS_TIMEOUT,
|
|
@@ -963,7 +963,7 @@ async def _map_invocation_inputplane(
|
|
|
963
963
|
f"Map stats:\nsuccessful_completions={successful_completions} failed_completions={failed_completions} "
|
|
964
964
|
f"no_context_duplicates={no_context_duplicates} stale_retry_duplicates={stale_retry_duplicates} "
|
|
965
965
|
f"already_complete_duplicates={already_complete_duplicates} retried_outputs={retried_outputs} "
|
|
966
|
-
f"
|
|
966
|
+
f"map_token={map_token} max_inputs_outstanding={max_inputs_outstanding} "
|
|
967
967
|
f"map_items_manager_size={len(map_items_manager)} input_queue_size={input_queue_size}"
|
|
968
968
|
)
|
|
969
969
|
|
|
@@ -4,7 +4,6 @@ option go_package = "github.com/modal-labs/modal/go/proto";
|
|
|
4
4
|
|
|
5
5
|
package modal.client;
|
|
6
6
|
|
|
7
|
-
import "modal_proto/options.proto";
|
|
8
7
|
import "google/protobuf/empty.proto";
|
|
9
8
|
import "google/protobuf/struct.proto";
|
|
10
9
|
import "google/protobuf/timestamp.proto";
|
|
@@ -298,7 +297,7 @@ message AppClientDisconnectRequest {
|
|
|
298
297
|
}
|
|
299
298
|
|
|
300
299
|
message AppCreateRequest {
|
|
301
|
-
string client_id = 1
|
|
300
|
+
string client_id = 1;
|
|
302
301
|
string description = 2; // Human readable label for the app
|
|
303
302
|
string environment_name = 5;
|
|
304
303
|
AppState app_state = 6;
|
|
@@ -311,7 +310,7 @@ message AppCreateResponse {
|
|
|
311
310
|
}
|
|
312
311
|
|
|
313
312
|
message AppDeployRequest {
|
|
314
|
-
string app_id = 1
|
|
313
|
+
string app_id = 1;
|
|
315
314
|
reserved 2; // namespace
|
|
316
315
|
string name = 3;
|
|
317
316
|
string object_entity = 4;
|
|
@@ -444,7 +443,7 @@ message AppLookupResponse {
|
|
|
444
443
|
}
|
|
445
444
|
|
|
446
445
|
message AppPublishRequest {
|
|
447
|
-
string app_id = 1
|
|
446
|
+
string app_id = 1;
|
|
448
447
|
string name = 2;
|
|
449
448
|
string deployment_tag = 3; // Additional metadata to identify a deployment
|
|
450
449
|
AppState app_state = 4; // Published app will be in this state
|
|
@@ -483,7 +482,7 @@ message AppSetTagsRequest {
|
|
|
483
482
|
|
|
484
483
|
|
|
485
484
|
message AppStopRequest {
|
|
486
|
-
string app_id = 1
|
|
485
|
+
string app_id = 1;
|
|
487
486
|
AppStopSource source = 2;
|
|
488
487
|
}
|
|
489
488
|
|
|
@@ -744,7 +743,7 @@ message CheckpointInfo {
|
|
|
744
743
|
}
|
|
745
744
|
|
|
746
745
|
message ClassCreateRequest {
|
|
747
|
-
string app_id = 1
|
|
746
|
+
string app_id = 1 ;
|
|
748
747
|
string existing_class_id = 2;
|
|
749
748
|
repeated ClassMethod methods = 3;
|
|
750
749
|
reserved 4; // removed class_function_id
|
|
@@ -1078,7 +1077,7 @@ message ContainerReloadVolumesRequest {
|
|
|
1078
1077
|
message ContainerReloadVolumesResponse { }
|
|
1079
1078
|
|
|
1080
1079
|
message ContainerStopRequest {
|
|
1081
|
-
string task_id = 1
|
|
1080
|
+
string task_id = 1;
|
|
1082
1081
|
}
|
|
1083
1082
|
|
|
1084
1083
|
message ContainerStopResponse {
|
|
@@ -1146,7 +1145,7 @@ message DictEntry {
|
|
|
1146
1145
|
}
|
|
1147
1146
|
|
|
1148
1147
|
message DictGetOrCreateRequest {
|
|
1149
|
-
string deployment_name = 1
|
|
1148
|
+
string deployment_name = 1;
|
|
1150
1149
|
reserved 2; // removed namespace
|
|
1151
1150
|
string environment_name = 3;
|
|
1152
1151
|
ObjectCreationType object_creation_type = 4;
|
|
@@ -1213,7 +1212,7 @@ message DictPopResponse {
|
|
|
1213
1212
|
}
|
|
1214
1213
|
|
|
1215
1214
|
message DictUpdateRequest {
|
|
1216
|
-
string dict_id = 1
|
|
1215
|
+
string dict_id = 1;
|
|
1217
1216
|
repeated DictEntry updates = 2;
|
|
1218
1217
|
bool if_not_exists = 3;
|
|
1219
1218
|
}
|
|
@@ -1239,7 +1238,7 @@ message DomainCertificateVerifyResponse {
|
|
|
1239
1238
|
}
|
|
1240
1239
|
|
|
1241
1240
|
message DomainCreateRequest {
|
|
1242
|
-
string domain_name = 1
|
|
1241
|
+
string domain_name = 1 ;
|
|
1243
1242
|
}
|
|
1244
1243
|
|
|
1245
1244
|
message DomainCreateResponse {
|
|
@@ -1255,14 +1254,14 @@ message DomainListResponse {
|
|
|
1255
1254
|
}
|
|
1256
1255
|
|
|
1257
1256
|
message EnvironmentCreateRequest {
|
|
1258
|
-
string name = 1
|
|
1257
|
+
string name = 1;
|
|
1259
1258
|
}
|
|
1260
1259
|
|
|
1261
1260
|
message EnvironmentDeleteRequest {
|
|
1262
|
-
string name = 1
|
|
1261
|
+
string name = 1;
|
|
1263
1262
|
}
|
|
1264
1263
|
message EnvironmentGetOrCreateRequest {
|
|
1265
|
-
string deployment_name = 1
|
|
1264
|
+
string deployment_name = 1;
|
|
1266
1265
|
ObjectCreationType object_creation_type = 2;
|
|
1267
1266
|
}
|
|
1268
1267
|
|
|
@@ -1298,7 +1297,7 @@ message EnvironmentSettings {
|
|
|
1298
1297
|
}
|
|
1299
1298
|
|
|
1300
1299
|
message EnvironmentUpdateRequest {
|
|
1301
|
-
string current_name = 1
|
|
1300
|
+
string current_name = 1;
|
|
1302
1301
|
google.protobuf.StringValue name = 2;
|
|
1303
1302
|
google.protobuf.StringValue web_suffix = 3;
|
|
1304
1303
|
}
|
|
@@ -1357,7 +1356,7 @@ message FlashContainerRegisterResponse {
|
|
|
1357
1356
|
|
|
1358
1357
|
message FlashProxyUpstreamRequest {
|
|
1359
1358
|
uint32 upstream_requests = 1;
|
|
1360
|
-
double timestamp = 2;
|
|
1359
|
+
double timestamp = 2;
|
|
1361
1360
|
}
|
|
1362
1361
|
|
|
1363
1362
|
message FlashSetTargetSlotsMetricsRequest {
|
|
@@ -1621,7 +1620,7 @@ message FunctionCallPutDataRequest {
|
|
|
1621
1620
|
|
|
1622
1621
|
message FunctionCreateRequest {
|
|
1623
1622
|
Function function = 1;
|
|
1624
|
-
string app_id = 2
|
|
1623
|
+
string app_id = 2 ;
|
|
1625
1624
|
Schedule schedule = 6 [deprecated=true]; // Deprecated: now passed in the Function definition
|
|
1626
1625
|
string existing_function_id = 7;
|
|
1627
1626
|
reserved 8; // defer_updates
|
|
@@ -1916,7 +1915,7 @@ message FunctionOptions {
|
|
|
1916
1915
|
|
|
1917
1916
|
message FunctionPrecreateRequest {
|
|
1918
1917
|
string app_id = 1;
|
|
1919
|
-
string function_name = 2
|
|
1918
|
+
string function_name = 2 ;
|
|
1920
1919
|
string existing_function_id = 3;
|
|
1921
1920
|
Function.FunctionType function_type = 4;
|
|
1922
1921
|
WebhookConfig webhook_config = 5;
|
|
@@ -1965,8 +1964,8 @@ message FunctionPutOutputsItem {
|
|
|
1965
1964
|
double output_created_at = 4;
|
|
1966
1965
|
DataFormat data_format = 7; // for result.data_oneof
|
|
1967
1966
|
uint32 retry_count = 8;
|
|
1968
|
-
string function_call_id = 9; // injected by the worker
|
|
1969
|
-
optional int32 function_map_idx = 10; // injected by the worker
|
|
1967
|
+
string function_call_id = 9; // injected by the worker
|
|
1968
|
+
optional int32 function_map_idx = 10; // injected by the worker
|
|
1970
1969
|
}
|
|
1971
1970
|
|
|
1972
1971
|
message FunctionPutOutputsRequest {
|
|
@@ -2116,7 +2115,7 @@ message ImageFromIdResponse {
|
|
|
2116
2115
|
|
|
2117
2116
|
message ImageGetOrCreateRequest {
|
|
2118
2117
|
Image image = 2;
|
|
2119
|
-
string app_id = 4
|
|
2118
|
+
string app_id = 4;
|
|
2120
2119
|
string existing_image_id = 5; // ignored
|
|
2121
2120
|
string build_function_id = 6;
|
|
2122
2121
|
bool force_build = 7;
|
|
@@ -2226,7 +2225,7 @@ message MapAwaitResponse {
|
|
|
2226
2225
|
message MapCheckInputsRequest {
|
|
2227
2226
|
string last_entry_id = 1;
|
|
2228
2227
|
float timeout = 2;
|
|
2229
|
-
repeated string attempt_tokens = 3;
|
|
2228
|
+
repeated string attempt_tokens = 3;
|
|
2230
2229
|
}
|
|
2231
2230
|
|
|
2232
2231
|
message MapCheckInputsResponse {
|
|
@@ -2452,7 +2451,7 @@ message Proxy {
|
|
|
2452
2451
|
}
|
|
2453
2452
|
|
|
2454
2453
|
message ProxyAddIpRequest {
|
|
2455
|
-
string proxy_id = 1
|
|
2454
|
+
string proxy_id = 1;
|
|
2456
2455
|
}
|
|
2457
2456
|
|
|
2458
2457
|
message ProxyAddIpResponse {
|
|
@@ -2460,7 +2459,7 @@ message ProxyAddIpResponse {
|
|
|
2460
2459
|
}
|
|
2461
2460
|
|
|
2462
2461
|
message ProxyCreateRequest {
|
|
2463
|
-
string name = 1
|
|
2462
|
+
string name = 1;
|
|
2464
2463
|
string environment_name = 2;
|
|
2465
2464
|
}
|
|
2466
2465
|
|
|
@@ -2469,11 +2468,11 @@ message ProxyCreateResponse {
|
|
|
2469
2468
|
}
|
|
2470
2469
|
|
|
2471
2470
|
message ProxyDeleteRequest {
|
|
2472
|
-
string proxy_id = 1
|
|
2471
|
+
string proxy_id = 1;
|
|
2473
2472
|
}
|
|
2474
2473
|
|
|
2475
2474
|
message ProxyGetOrCreateRequest {
|
|
2476
|
-
string deployment_name = 1
|
|
2475
|
+
string deployment_name = 1;
|
|
2477
2476
|
reserved 2; // namespace
|
|
2478
2477
|
string environment_name = 3;
|
|
2479
2478
|
ObjectCreationType object_creation_type = 4; // must be UNSPECIFIED
|
|
@@ -2484,7 +2483,7 @@ message ProxyGetOrCreateResponse {
|
|
|
2484
2483
|
}
|
|
2485
2484
|
|
|
2486
2485
|
message ProxyGetRequest {
|
|
2487
|
-
string name = 1
|
|
2486
|
+
string name = 1;
|
|
2488
2487
|
string environment_name = 2;
|
|
2489
2488
|
}
|
|
2490
2489
|
|
|
@@ -2512,7 +2511,7 @@ message ProxyListResponse {
|
|
|
2512
2511
|
}
|
|
2513
2512
|
|
|
2514
2513
|
message ProxyRemoveIpRequest {
|
|
2515
|
-
string proxy_ip = 1
|
|
2514
|
+
string proxy_ip = 1;
|
|
2516
2515
|
}
|
|
2517
2516
|
|
|
2518
2517
|
message QueueClearRequest {
|
|
@@ -2522,7 +2521,7 @@ message QueueClearRequest {
|
|
|
2522
2521
|
}
|
|
2523
2522
|
|
|
2524
2523
|
message QueueDeleteRequest {
|
|
2525
|
-
string queue_id = 1
|
|
2524
|
+
string queue_id = 1;
|
|
2526
2525
|
}
|
|
2527
2526
|
|
|
2528
2527
|
message QueueGetOrCreateRequest {
|
|
@@ -2749,7 +2748,7 @@ message SandboxCreateConnectTokenResponse {
|
|
|
2749
2748
|
}
|
|
2750
2749
|
|
|
2751
2750
|
message SandboxCreateRequest {
|
|
2752
|
-
string app_id = 1
|
|
2751
|
+
string app_id = 1;
|
|
2753
2752
|
Sandbox definition = 2;
|
|
2754
2753
|
string environment_name = 3; // *DEPRECATED* 7/16/2025
|
|
2755
2754
|
}
|
|
@@ -2995,7 +2994,7 @@ message SchedulerPlacement {
|
|
|
2995
2994
|
|
|
2996
2995
|
message SecretCreateRequest { // Not used by client anymore
|
|
2997
2996
|
map<string, string> env_dict = 1;
|
|
2998
|
-
string app_id = 2
|
|
2997
|
+
string app_id = 2;
|
|
2999
2998
|
string template_type = 3; // todo: not used?
|
|
3000
2999
|
string existing_secret_id = 4;
|
|
3001
3000
|
}
|
|
@@ -3009,7 +3008,7 @@ message SecretDeleteRequest {
|
|
|
3009
3008
|
}
|
|
3010
3009
|
|
|
3011
3010
|
message SecretGetOrCreateRequest {
|
|
3012
|
-
string deployment_name = 1
|
|
3011
|
+
string deployment_name = 1;
|
|
3013
3012
|
reserved 2; // removed namespace
|
|
3014
3013
|
string environment_name = 3;
|
|
3015
3014
|
ObjectCreationType object_creation_type = 4; // Not used atm
|
|
@@ -3066,7 +3065,7 @@ message SharedVolumeGetFileResponse {
|
|
|
3066
3065
|
}
|
|
3067
3066
|
|
|
3068
3067
|
message SharedVolumeGetOrCreateRequest {
|
|
3069
|
-
string deployment_name = 1
|
|
3068
|
+
string deployment_name = 1;
|
|
3070
3069
|
reserved 2; // removed namespace
|
|
3071
3070
|
string environment_name = 3;
|
|
3072
3071
|
ObjectCreationType object_creation_type = 4;
|
|
@@ -3114,7 +3113,7 @@ message SharedVolumeMount {
|
|
|
3114
3113
|
}
|
|
3115
3114
|
|
|
3116
3115
|
message SharedVolumePutFileRequest {
|
|
3117
|
-
string shared_volume_id = 1
|
|
3116
|
+
string shared_volume_id = 1;
|
|
3118
3117
|
string path = 2;
|
|
3119
3118
|
string sha256_hex = 3;
|
|
3120
3119
|
oneof data_oneof {
|
|
@@ -3129,7 +3128,7 @@ message SharedVolumePutFileResponse {
|
|
|
3129
3128
|
}
|
|
3130
3129
|
|
|
3131
3130
|
message SharedVolumeRemoveFileRequest {
|
|
3132
|
-
string shared_volume_id = 1
|
|
3131
|
+
string shared_volume_id = 1;
|
|
3133
3132
|
string path = 2;
|
|
3134
3133
|
bool recursive = 3;
|
|
3135
3134
|
}
|
|
@@ -3306,7 +3305,7 @@ message UserActionInfo {
|
|
|
3306
3305
|
message VolumeCommitRequest {
|
|
3307
3306
|
// NOTE(staffan): Mounting a volume in multiple locations is not supported, so volume_id alone uniquely identifies
|
|
3308
3307
|
// a volume mount.
|
|
3309
|
-
string volume_id = 1
|
|
3308
|
+
string volume_id = 1;
|
|
3310
3309
|
}
|
|
3311
3310
|
|
|
3312
3311
|
message VolumeCommitResponse {
|
|
@@ -3364,7 +3363,7 @@ message VolumeGetFileResponse {
|
|
|
3364
3363
|
}
|
|
3365
3364
|
|
|
3366
3365
|
message VolumeGetOrCreateRequest {
|
|
3367
|
-
string deployment_name = 1
|
|
3366
|
+
string deployment_name = 1;
|
|
3368
3367
|
reserved 2; // removed namespace
|
|
3369
3368
|
string environment_name = 3;
|
|
3370
3369
|
ObjectCreationType object_creation_type = 4;
|
|
@@ -3516,19 +3515,19 @@ message VolumeReloadRequest {
|
|
|
3516
3515
|
}
|
|
3517
3516
|
|
|
3518
3517
|
message VolumeRemoveFile2Request {
|
|
3519
|
-
string volume_id = 1
|
|
3518
|
+
string volume_id = 1;
|
|
3520
3519
|
string path = 2;
|
|
3521
3520
|
bool recursive = 3;
|
|
3522
3521
|
}
|
|
3523
3522
|
|
|
3524
3523
|
message VolumeRemoveFileRequest {
|
|
3525
|
-
string volume_id = 1
|
|
3524
|
+
string volume_id = 1;
|
|
3526
3525
|
string path = 2;
|
|
3527
3526
|
bool recursive = 3;
|
|
3528
3527
|
}
|
|
3529
3528
|
|
|
3530
3529
|
message VolumeRenameRequest {
|
|
3531
|
-
string volume_id = 1
|
|
3530
|
+
string volume_id = 1;
|
|
3532
3531
|
string name = 2;
|
|
3533
3532
|
}
|
|
3534
3533
|
|