Skip to content

Commit ae33123

Browse files
Merge pull request #2 from jasongrout/fix_widgets_and_widget_types
Move internal references to relative imports, add migration note
2 parents 924f383 + db41eab commit ae33123

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

docs/source/user_migration_guides.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ The previously deprecated traits `overflow_x` and `overflow_y`
7878
[have been removed](https://github.com/jupyter-widgets/ipywidgets/pull/2688). Please
7979
use the `overflow` trait instead.
8080

81+
#### `Widget.widgets` and `Widget.widget_types` attributes
82+
83+
The `Widget` class attributes `.widgets` and `.widget_types` are now deprecated and relocated to internal module-level private variables, opening up these attribute names on the `Widget` class for future uses.
84+
8185
### Deployments
8286

8387
#### Embedded CDN

python/ipywidgets/ipywidgets/embed.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212

1313
import json
1414
import re
15-
import ipywidgets.widgets.widget
16-
from .widgets import Widget, DOMWidget
15+
from .widgets import Widget, DOMWidget, widget as widget_module
1716
from .widgets.widget_link import Link
1817
from .widgets.docutils import doc_subst
1918
from ._version import __html_manager_version__
@@ -130,7 +129,7 @@ def _get_recursive_state(widget, store=None, drop_defaults=False):
130129

131130
def add_resolved_links(store, drop_defaults):
132131
"""Adds the state of any link models between two models in store"""
133-
for widget_id, widget in ipywidgets.widgets.widget._instances.items(): # go over all widgets
132+
for widget_id, widget in widget_module._instances.items(): # go over all widgets
134133
if isinstance(widget, Link) and widget_id not in store:
135134
if widget.source[0].model_id in store and widget.target[0].model_id in store:
136135
store[widget.model_id] = widget._get_embed_state(drop_defaults=drop_defaults)
@@ -208,7 +207,7 @@ def embed_data(views, drop_defaults=True, state=None):
208207
view_specs: a list of widget view specs
209208
"""
210209
if views is None:
211-
views = [w for w in ipywidgets.widgets.widget._instances.values() if isinstance(w, DOMWidget)]
210+
views = [w for w in widget_module._instances.values() if isinstance(w, DOMWidget)]
212211
else:
213212
try:
214213
views[0]

python/ipywidgets/ipywidgets/tests/test_embed.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
import traitlets
1111

12-
import ipywidgets.widgets.widget
13-
from ..widgets import IntSlider, IntText, Text, Widget, jslink, HBox, widget_serialization
12+
from ..widgets import IntSlider, IntText, Text, Widget, jslink, HBox, widget_serialization, widget as widget_module
1413
from ..embed import embed_data, embed_snippet, embed_minimal_html, dependency_state
1514

1615

@@ -30,7 +29,7 @@ class CaseWidget(Widget):
3029
class TestEmbed:
3130

3231
def teardown(self):
33-
for w in tuple(ipywidgets.widgets.widget._instances.values()):
32+
for w in tuple(widget_module._instances.values()):
3433
w.close()
3534

3635
def test_embed_data_simple(self):

0 commit comments

Comments
 (0)