anywidget icon indicating copy to clipboard operation
anywidget copied to clipboard

Add "Little Things to Know" section to the docs

Open manzt opened this issue 1 year ago • 1 comments

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

manzt avatar Jun 07 '24 13:06 manzt

as someone new to widgets, these will be important:

  1. 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

  2. interactions between widgets, e.g.

  • how to share/pass states between widgets, :
  • assembling composite widgets: https://github.com/manzt/anywidget/discussions/293

prusswan avatar Oct 21 '24 09:10 prusswan