Add "Little Things to Know" section to the docs
Thanks @koaning for the idea. There are just some little things to know when actually using widgets, especially the ipywidgets/traitlets ecosystem, which without documentation could lead to a "meh" overall experience with anywidget.
It would be nice to have an FAQ-style list of tips to steer folks into the pit of success with Jupyter Widgets.
Example:
widget = MyWidget()
widget.observe(on_change)
widget
very rarely is a blanket observe what you want, since multiple traitlet changes will occur per user expected "change", causing the callback to fire multiple times and glitching.
It's better to specify names and filter which changes you actually care about:
widget = MyWidget()
-- widget.observe(on_change)
++ widget.observe(on_change, names=["value"])
widget
as someone new to widgets, these will be important:
-
capturing ipywidgets.Output so failures can be seen (otherwise not even import errors will show up). The method used is different for jupyter classic and lab so this took me quite a while to realize
-
interactions between widgets, e.g.
- how to share/pass states between widgets, :
- assembling composite widgets: https://github.com/manzt/anywidget/discussions/293