@@ -271,24 +271,36 @@ def perform_codegen(reformat=True):
271271 root_datatype_imports .append (f"._deprecations.{ dep_clas } " )
272272
273273 optional_figure_widget_import = f"""
274- __all__.append("FigureWidget")
275- orig_getattr = __getattr__
276- def __getattr__(import_name):
277- if import_name == "FigureWidget":
278- try:
279- import ipywidgets
280- from packaging.version import Version
281-
282- if Version(ipywidgets.__version__) >= Version("7.0.0"):
283- from ..graph_objs._figurewidget import FigureWidget
274+ if sys.version_info < (3, 7) or TYPE_CHECKING:
275+ try:
276+ import ipywidgets as _ipywidgets
277+ from packaging.version import Version as _Version
278+ if _Version(_ipywidgets.__version__) >= _Version("7.0.0"):
279+ from ..graph_objs._figurewidget import FigureWidget
280+ else:
281+ raise ImportError()
282+ except Exception:
283+ from ..missing_anywidget import FigureWidget
284+ else:
285+ __all__.append("FigureWidget")
286+ orig_getattr = __getattr__
287+ def __getattr__(import_name):
288+ if import_name == "FigureWidget":
289+ try:
290+ import ipywidgets
291+ from packaging.version import Version
292+ if Version(ipywidgets.__version__) >= Version("7.0.0"):
293+ from ..graph_objs._figurewidget import FigureWidget
294+ return FigureWidget
295+ else:
296+ raise ImportError()
297+ except Exception:
298+ from ..missing_anywidget import FigureWidget
284299 return FigureWidget
285300 else:
286301 raise ImportError()
287- except Exception:
288- from ..missing_anywidget import FigureWidget
289- return FigureWidget
290302
291- return orig_getattr(import_name)
303+ return orig_getattr(import_name)
292304"""
293305 # ### __all__ ###
294306 for path_parts , class_names in alls .items ():
0 commit comments