Skip to content

Commit c155e8e

Browse files
committed
Add no_lazy import
1 parent 8400206 commit c155e8e

File tree

6 files changed

+35
-9
lines changed

6 files changed

+35
-9
lines changed

panel/__init__.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,15 @@
118118

119119

120120
def __getattr__(name: str) -> object:
121-
if name in _attrs:
121+
if name == "no_lazy":
122+
for attr in _attrs:
123+
if attr in ("param"):
124+
continue
125+
mod = __getattr__(attr)
126+
if hasattr(mod, "_attrs"):
127+
getattr(mod._attrs, "no_lazy", None)
128+
return name
129+
elif name in _attrs:
122130
import importlib
123131
mod_name, _, attr_name = _attrs[name].partition(':')
124132
mod = importlib.import_module(mod_name)

panel/io/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ def _serve_init():
6565
def __getattr__(name: str) -> object:
6666
if name == "serve":
6767
return _serve_init()
68+
elif name == "no_lazy":
69+
for attr in _attrs.items():
70+
mod = __getattr__(attr)
71+
if hasattr(mod, "_attrs"):
72+
getattr(mod._attrs, "no_lazy", None)
73+
return name
6874
elif name in _attrs:
6975
import importlib
7076
mod_name, _, attr_name = _attrs[name].partition(':')

panel/layout/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@
7272
}
7373

7474
def __getattr__(name: str):
75+
if name == "no_lazy":
76+
for attr in _attrs:
77+
mod = __getattr__(attr)
78+
if hasattr(mod, "_attrs"):
79+
getattr(mod._attrs, "no_lazy", None)
80+
return name
7581
if name in _attrs:
7682
import importlib
7783
mod_name, _, attr_name = _attrs[name].partition(':')

panel/pane/__init__.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@
111111
}
112112

113113
def __getattr__(name: str) -> object:
114+
if name == "no_lazy":
115+
for attr in _attrs:
116+
mod = __getattr__(attr)
117+
if hasattr(mod, "_attrs"):
118+
getattr(mod._attrs, "no_lazy", None)
119+
return name
114120
if name in _attrs:
115121
import importlib
116122
mod_name, _, attr_name = _attrs[name].partition(':')
@@ -166,8 +172,3 @@ def __getattr__(name: str) -> object:
166172
)
167173

168174
__dir__ = lambda: list(__all__)
169-
170-
171-
def _import_lazy_modules():
172-
for name in _attrs:
173-
__getattr__(name)

panel/pane/base.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
from ..viewable import (
3535
Layoutable, ServableMixin, Viewable, Viewer,
3636
)
37-
from . import _import_lazy_modules
3837

3938
if TYPE_CHECKING:
4039
from bokeh.document import Document
@@ -250,7 +249,7 @@ def get_pane_type(cls, obj: Any, **kwargs) -> type['PaneBase']:
250249
return type(obj)
251250
descendents = []
252251

253-
_import_lazy_modules()
252+
from . import no_lazy # noqa
254253
for p in param.concrete_descendents(PaneBase).values():
255254
if p.priority is None:
256255
applies = True

panel/widgets/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,13 @@
160160

161161

162162
def __getattr__(name: str) -> object:
163-
if name in _attrs:
163+
if name == "no_lazy":
164+
for attr in _attrs:
165+
mod = __getattr__(attr)
166+
if hasattr(mod, "_attrs"):
167+
getattr(mod._attrs, "no_lazy", None)
168+
return name
169+
elif name in _attrs:
164170
import importlib
165171
mod_name, _, attr_name = _attrs[name].partition(':')
166172
mod = importlib.import_module(mod_name)

0 commit comments

Comments
 (0)