Skip to content

Commit 332ce87

Browse files
committed
Parse module versions before passing them to HTMLDependency()
This fixes rendering of pydeck (originally, in #25, I was thinking we'd handle this in htmltools...maybe we still should, but we'll just do this here, at least for now)
1 parent c9bdbc7 commit 332ce87

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

ipyshiny/_dependencies.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import importlib
22
import json
33
import os
4+
import packaging.version
45
import re
56
from types import ModuleType
67
import warnings
@@ -46,7 +47,7 @@ def libembed_dependency() -> List[HTMLDependency]:
4647
# stuff we need to render widgets outside of the notebook.
4748
HTMLDependency(
4849
name="ipywidget-libembed-amd",
49-
version=as_version(__html_manager_version__),
50+
version=packaging.version.parse(__html_manager_version__),
5051
source={"package": "ipyshiny", "subdir": "static"},
5152
script={"src": "libembed-amd.js"},
5253
),
@@ -97,7 +98,7 @@ def require_dependency(w: Widget, session: Session) -> Optional[HTMLDependency]:
9798
)
9899
return None
99100

100-
version = as_version(getattr(w, "_model_module_version", "1.0"))
101+
version = packaging.version.parse(getattr(w, "_model_module_version", "1.0"))
101102
source = {"package": None, "subdir": module_dir}
102103

103104
dep = HTMLDependency(module_name, version, source=source)
@@ -158,7 +159,3 @@ def jupyter_extension_destination(w: Widget) -> str:
158159

159160
def widget_pkg(w: object) -> str:
160161
return w.__module__.split(".")[0]
161-
162-
163-
def as_version(v: str) -> str:
164-
return re.sub("^\\D*", "", v)

0 commit comments

Comments
 (0)