Skip to content

Commit 5ec2514

Browse files
committed
Update method of accessing version to prevent circular imports
1 parent 5e52fb0 commit 5ec2514

File tree

1 file changed

+9
-14
lines changed

1 file changed

+9
-14
lines changed

dash/dash.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import warnings
77
from contextvars import copy_context
88
from importlib.machinery import ModuleSpec
9+
from importlib.util import find_spec
10+
from importlib import metadata
911
import pkgutil
1012
import threading
1113
import re
@@ -77,21 +79,14 @@
7779
from ._jupyter import jupyter_dash, JupyterDisplayMode
7880
from .types import RendererHooks
7981

80-
dash_design_kit_version = None
81-
try:
82-
import dash_design_kit
83-
84-
dash_design_kit_version = dash_design_kit.__version__
85-
except ImportError:
86-
pass
82+
# If dash_design_kit is installed, check for version
83+
ddk_version = None
84+
if find_spec("dash_design_kit"):
85+
ddk_version = metadata.version("dash_design_kit")
8786

8887
plotly_version = None
89-
try:
90-
import plotly
91-
92-
plotly_version = plotly.__version__
93-
except ImportError:
94-
pass
88+
if find_spec("plotly"):
89+
plotly_version = metadata.version("plotly")
9590

9691
# Add explicit mapping for map files
9792
mimetypes.add_type("application/json", ".map", True)
@@ -787,7 +782,7 @@ def _config(self):
787782
"dash_version": __version__,
788783
"python_version": sys.version,
789784
"dash_version_url": DASH_VERSION_URL,
790-
"ddk_version": dash_design_kit_version,
785+
"ddk_version": ddk_version,
791786
"plotly_version": plotly_version,
792787
}
793788
if not self.config.serve_locally:

0 commit comments

Comments
 (0)