|
1 | 1 | import importlib |
2 | 2 | import json |
3 | 3 | import os |
| 4 | +import packaging.version |
4 | 5 | import re |
5 | 6 | from types import ModuleType |
6 | 7 | import warnings |
@@ -46,7 +47,7 @@ def libembed_dependency() -> List[HTMLDependency]: |
46 | 47 | # stuff we need to render widgets outside of the notebook. |
47 | 48 | HTMLDependency( |
48 | 49 | name="ipywidget-libembed-amd", |
49 | | - version=as_version(__html_manager_version__), |
| 50 | + version=packaging.version.parse(__html_manager_version__), |
50 | 51 | source={"package": "ipyshiny", "subdir": "static"}, |
51 | 52 | script={"src": "libembed-amd.js"}, |
52 | 53 | ), |
@@ -97,7 +98,7 @@ def require_dependency(w: Widget, session: Session) -> Optional[HTMLDependency]: |
97 | 98 | ) |
98 | 99 | return None |
99 | 100 |
|
100 | | - version = as_version(getattr(w, "_model_module_version", "1.0")) |
| 101 | + version = packaging.version.parse(getattr(w, "_model_module_version", "1.0")) |
101 | 102 | source = {"package": None, "subdir": module_dir} |
102 | 103 |
|
103 | 104 | dep = HTMLDependency(module_name, version, source=source) |
@@ -158,7 +159,3 @@ def jupyter_extension_destination(w: Widget) -> str: |
158 | 159 |
|
159 | 160 | def widget_pkg(w: object) -> str: |
160 | 161 | return w.__module__.split(".")[0] |
161 | | - |
162 | | - |
163 | | -def as_version(v: str) -> str: |
164 | | - return re.sub("^\\D*", "", v) |
0 commit comments