From 9acdb8d913fa1fe51c31e4c6d0cda7601c05c271 Mon Sep 17 00:00:00 2001 From: kushalkolar Date: Thu, 16 Jan 2025 21:17:11 -0500 Subject: [PATCH] raise ModuleNotFoundError if user tries to import imgui and it doesn't exist --- fastplotlib/__init__.py | 2 +- fastplotlib/widgets/image_widget/__init__.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/fastplotlib/__init__.py b/fastplotlib/__init__.py index 9cc8d8432..7eb9554e8 100644 --- a/fastplotlib/__init__.py +++ b/fastplotlib/__init__.py @@ -13,10 +13,10 @@ if IMGUI: # default to imgui figure if imgui_bundle is installed from .layouts import ImguiFigure as Figure - from .widgets import ImageWidget else: from .layouts import Figure +from .widgets import ImageWidget from .utils import config, enumerate_adapters, select_adapter, print_wgpu_report diff --git a/fastplotlib/widgets/image_widget/__init__.py b/fastplotlib/widgets/image_widget/__init__.py index 93aaa4ce1..70a1aa8ae 100644 --- a/fastplotlib/widgets/image_widget/__init__.py +++ b/fastplotlib/widgets/image_widget/__init__.py @@ -1 +1,13 @@ -from ._widget import ImageWidget +from ...layouts import IMGUI + +if IMGUI: + from ._widget import ImageWidget + +else: + + class ImageWidget: + def __init__(self, *args, **kwargs): + raise ModuleNotFoundError( + "ImageWidget requires `imgui-bundle` to be installed.\n" + "pip install imgui-bundle" + )