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

1from typing import TYPE_CHECKING, Literal, Optional 

2 

3from typing_extensions import assert_never 

4 

5from bioimageio.spec.model import AnyModelDescr 

6 

7if TYPE_CHECKING: 

8 from .gradio.client import GradioModelAdapter 

9 

10 

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 

17 

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 """ 

23 

24 if server_type is None: 

25 server_type = "gradio" 

26 

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 

37 

38 return RemoteModelAdapterImpl(model_description=model_description, server=server)