From 0594eaef0953bed285472c510256d0ac48296b64 Mon Sep 17 00:00:00 2001 From: uael Date: Thu, 23 Feb 2023 21:06:12 +0000 Subject: [PATCH] link: make `websockets` import lazy --- bumble/link.py | 4 ++-- bumble/transport/__init__.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bumble/link.py b/bumble/link.py index 84ff47e..82dd9db 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 5ba67b4..8a93ed7 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)