Coverage for src/bioimageio/core/remote_backends/__init__.py: 33%
12 statements
« prev ^ index » next coverage.py v7.14.2, created at 2026-06-22 16:54 +0000
« prev ^ index » next coverage.py v7.14.2, created at 2026-06-22 16:54 +0000
1from typing import TYPE_CHECKING, Literal, Optional
3from typing_extensions import assert_never
5from bioimageio.spec.model import AnyModelDescr
7if TYPE_CHECKING:
8 from .gradio.client import GradioModelAdapter
11def create_remote_model_adapter(
12 model_description: AnyModelDescr,
13 server: Optional[str] = None,
14 server_type: Optional[Literal["gradio"]] = None,
15) -> "GradioModelAdapter":
16 """Create a remote model adapter
18 Args:
19 model_description: The model to run inference with.
20 server: The URL or Hugging Face space name of a running bioimageio server instance
21 server_type: The type of the remote server to connect to. Currently only "gradio" is supported.
22 """
24 if server_type is None:
25 server_type = "gradio"
27 try:
28 if server_type == "gradio":
29 from .gradio.client import GradioModelAdapter as RemoteModelAdapterImpl
30 else:
31 assert_never(server_type)
32 except ImportError as e:
33 raise ImportError(
34 f"Failed to import {server_type.capitalize()}ModelAdapter. Make sure to install the '{server_type}-client' extra,"
35 + f" e.g. with `pip install bioimageio.core[{server_type}-client]`."
36 ) from e
38 return RemoteModelAdapterImpl(model_description=model_description, server=server)