diff --git a/bec_widgets/cli/client_utils.py b/bec_widgets/cli/client_utils.py index 9eb76a84..a788c462 100644 --- a/bec_widgets/cli/client_utils.py +++ b/bec_widgets/cli/client_utils.py @@ -20,12 +20,16 @@ from bec_widgets.cli.auto_updates import AutoUpdates from bec_widgets.cli.rpc.rpc_base import RPCBase if TYPE_CHECKING: + from bec_lib import messages + from bec_lib.connector import MessageObject from bec_lib.device import DeviceBase -messages = lazy_import("bec_lib.messages") -# from bec_lib.connector import MessageObject -MessageObject = lazy_import_from("bec_lib.connector", ("MessageObject",)) -BECDispatcher = lazy_import_from("bec_widgets.utils.bec_dispatcher", ("BECDispatcher",)) + from bec_widgets.utils.bec_dispatcher import BECDispatcher +else: + messages = lazy_import("bec_lib.messages") + # from bec_lib.connector import MessageObject + MessageObject = lazy_import_from("bec_lib.connector", ("MessageObject",)) + BECDispatcher = lazy_import_from("bec_widgets.utils.bec_dispatcher", ("BECDispatcher",)) logger = bec_logger.logger @@ -301,9 +305,8 @@ class BECGuiClient(RPCBase): def show(self): if self._process is not None: return self.show_all() - else: - # backward compatibility: show() was also starting server - return self.start_server(wait=True) + # backward compatibility: show() was also starting server + return self.start_server(wait=True) def hide(self): return self.hide_all() diff --git a/bec_widgets/cli/rpc/rpc_base.py b/bec_widgets/cli/rpc/rpc_base.py index 89547630..0401350e 100644 --- a/bec_widgets/cli/rpc/rpc_base.py +++ b/bec_widgets/cli/rpc/rpc_base.py @@ -3,6 +3,7 @@ from __future__ import annotations import threading import uuid from functools import wraps +from typing import TYPE_CHECKING from bec_lib.client import BECClient from bec_lib.endpoints import MessageEndpoints @@ -10,9 +11,13 @@ from bec_lib.utils.import_utils import lazy_import, lazy_import_from import bec_widgets.cli.client as client -messages = lazy_import("bec_lib.messages") -# from bec_lib.connector import MessageObject -MessageObject = lazy_import_from("bec_lib.connector", ("MessageObject",)) +if TYPE_CHECKING: + from bec_lib import messages + from bec_lib.connector import MessageObject +else: + messages = lazy_import("bec_lib.messages") + # from bec_lib.connector import MessageObject + MessageObject = lazy_import_from("bec_lib.connector", ("MessageObject",)) def rpc_call(func):