diff --git a/bumble/link.py b/bumble/link.py index 84ff47e0..82dd9db5 100644 --- a/bumble/link.py +++ b/bumble/link.py @@ -19,8 +19,6 @@ import logging import asyncio from functools import partial -import websockets - from bumble.colors import color from bumble.hci import ( Address, @@ -220,6 +218,8 @@ class RemoteLink: ) async def run_connection(self): + import websockets # lazy import + # Connect to the relay logger.debug(f'connecting to {self.uri}') # pylint: disable-next=no-member diff --git a/bumble/transport/__init__.py b/bumble/transport/__init__.py index 5ba67b4d..8a93ed72 100644 --- a/bumble/transport/__init__.py +++ b/bumble/transport/__init__.py @@ -18,7 +18,6 @@ import logging from .common import Transport, AsyncPipeSink -from ..link import RemoteLink from ..controller import Controller # ----------------------------------------------------------------------------- @@ -110,6 +109,8 @@ async def open_transport(name: str) -> Transport: # ----------------------------------------------------------------------------- async def open_transport_or_link(name): if name.startswith('link-relay:'): + from ..link import RemoteLink # lazy import + link = RemoteLink(name[11:]) await link.wait_until_connected() controller = Controller('remote', link=link)