manzt / anywidget

jupyter widgets made easy
https://anywidget.dev
MIT License
451 stars 35 forks source link

Add "Little Things to Know" section to the docs #604

Open manzt opened 3 months ago

manzt commented 3 months ago

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