Skip to content

Commit 98a2985

Browse files
committed
feat: drop use of sys.version_info and TYPE_CHECKING
Removing the check for Python < 3.7 using `sys.version_info` and as a backup checking `typing.TYPE_CHECKING`; this saves us a little space and also cleans up the code. Proposing this as an enhancement beyond what's in the `codegen2` branch / PR #4978.
1 parent 2b3d47b commit 98a2985

File tree

2 files changed

+22
-38
lines changed

2 files changed

+22
-38
lines changed

packages/python/plotly/codegen/__init__.py

+16-28
Original file line numberDiff line numberDiff line change
@@ -267,36 +267,24 @@ def perform_codegen(reformat=True):
267267
root_datatype_imports.append(f"._deprecations.{dep_clas}")
268268

269269
optional_figure_widget_import = f"""
270-
if sys.version_info < (3, 7) or TYPE_CHECKING:
271-
try:
272-
import ipywidgets as _ipywidgets
273-
from packaging.version import Version as _Version
274-
if _Version(_ipywidgets.__version__) >= _Version("7.0.0"):
275-
from ..graph_objs._figurewidget import FigureWidget
276-
else:
277-
raise ImportError()
278-
except Exception:
279-
from ..missing_anywidget import FigureWidget
280-
else:
281-
__all__.append("FigureWidget")
282-
orig_getattr = __getattr__
283-
def __getattr__(import_name):
284-
if import_name == "FigureWidget":
285-
try:
286-
import ipywidgets
287-
from packaging.version import Version
288-
289-
if Version(ipywidgets.__version__) >= Version("7.0.0"):
290-
from ..graph_objs._figurewidget import FigureWidget
291-
292-
return FigureWidget
293-
else:
294-
raise ImportError()
295-
except Exception:
296-
from ..missing_anywidget import FigureWidget
270+
__all__.append("FigureWidget")
271+
orig_getattr = __getattr__
272+
def __getattr__(import_name):
273+
if import_name == "FigureWidget":
274+
try:
275+
import ipywidgets
276+
from packaging.version import Version
277+
278+
if Version(ipywidgets.__version__) >= Version("7.0.0"):
279+
from ..graph_objs._figurewidget import FigureWidget
297280
return FigureWidget
281+
else:
282+
raise ImportError()
283+
except Exception:
284+
from ..missing_anywidget import FigureWidget
285+
return FigureWidget
298286
299-
return orig_getattr(import_name)
287+
return orig_getattr(import_name)
300288
"""
301289
# ### __all__ ###
302290
for path_parts, class_names in alls.items():

packages/python/plotly/codegen/utils.py

+6-10
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,12 @@ def build_from_imports_py(rel_modules=(), rel_classes=(), init_extra=""):
7575

7676
result = f"""\
7777
import sys
78-
from typing import TYPE_CHECKING
79-
if sys.version_info < (3, 7) or TYPE_CHECKING:
80-
{imports_str}
81-
else:
82-
from _plotly_utils.importers import relative_import
83-
__all__, __getattr__, __dir__ = relative_import(
84-
__name__,
85-
{repr(rel_modules)},
86-
{repr(rel_classes)}
87-
)
78+
from _plotly_utils.importers import relative_import
79+
__all__, __getattr__, __dir__ = relative_import(
80+
__name__,
81+
{repr(rel_modules)},
82+
{repr(rel_classes)}
83+
)
8884
8985
{init_extra}
9086
"""

0 commit comments

Comments
 (0)