|
6 | 6 | import warnings
|
7 | 7 | from contextvars import copy_context
|
8 | 8 | from importlib.machinery import ModuleSpec
|
| 9 | +from importlib.util import find_spec |
| 10 | +from importlib import metadata |
9 | 11 | import pkgutil
|
10 | 12 | import threading
|
11 | 13 | import re
|
|
77 | 79 | from ._jupyter import jupyter_dash, JupyterDisplayMode
|
78 | 80 | from .types import RendererHooks
|
79 | 81 |
|
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") |
87 | 86 |
|
88 | 87 | 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") |
95 | 90 |
|
96 | 91 | # Add explicit mapping for map files
|
97 | 92 | mimetypes.add_type("application/json", ".map", True)
|
@@ -787,7 +782,7 @@ def _config(self):
|
787 | 782 | "dash_version": __version__,
|
788 | 783 | "python_version": sys.version,
|
789 | 784 | "dash_version_url": DASH_VERSION_URL,
|
790 |
| - "ddk_version": dash_design_kit_version, |
| 785 | + "ddk_version": ddk_version, |
791 | 786 | "plotly_version": plotly_version,
|
792 | 787 | }
|
793 | 788 | if not self.config.serve_locally:
|
|
0 commit comments