Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions codegen/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,8 +304,12 @@ def __getattr__(import_name):

# Output graph_objects.py alias
graph_objects_rel_classes = [
"..graph_objs." + rel_path.split(".")[-1]
for rel_path in datatype_rel_class_imports[()]
*(
"..graph_objs." + rel_path.split(".")[-1]
for rel_path in datatype_rel_class_imports[()]
),
# graph_objs owns the optional ipywidgets import and the fallback
"..graph_objs.FigureWidget",
]
graph_objects_rel_modules = [
"..graph_objs." + rel_module.split(".")[-1]
Expand All @@ -315,7 +319,6 @@ def __getattr__(import_name):
graph_objects_init_source = build_from_imports_py(
graph_objects_rel_modules,
graph_objects_rel_classes,
init_extra=optional_figure_widget_import,
)
graph_objects_path = opath.join(outdir, "graph_objects", "__init__.py")
os.makedirs(opath.join(outdir, "graph_objects"), exist_ok=True)
Expand Down
39 changes: 2 additions & 37 deletions plotly/graph_objects/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
from ..graph_objs import YBins
from ..graph_objs import Trace
from ..graph_objs import Histogram2dcontour
from ..graph_objs import FigureWidget
from ..graph_objs import waterfall
from ..graph_objs import volume
from ..graph_objs import violin
Expand Down Expand Up @@ -255,42 +256,6 @@
"..graph_objs.YBins",
"..graph_objs.Trace",
"..graph_objs.Histogram2dcontour",
"..graph_objs.FigureWidget",
],
)


if sys.version_info < (3, 7) or TYPE_CHECKING:
try:
import ipywidgets as _ipywidgets
from packaging.version import Version as _Version

if _Version(_ipywidgets.__version__) >= _Version("7.0.0"):
from ..graph_objs._figurewidget import FigureWidget
else:
raise ImportError()
except Exception:
from ..missing_anywidget import FigureWidget
else:
__all__.append("FigureWidget")
orig_getattr = __getattr__

def __getattr__(import_name):
if import_name == "FigureWidget":
try:
import ipywidgets
from packaging.version import Version

if Version(ipywidgets.__version__) >= Version("7.0.0"):
from ..graph_objs._figurewidget import FigureWidget

return FigureWidget
else:
raise ImportError()
except Exception:
from ..missing_anywidget import FigureWidget

return FigureWidget
else:
raise ImportError()

return orig_getattr(import_name)