You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: add ipynb RangeSlider, FloatRangeSlider, ProgressBar, Image, and RadioButtons
Widget-parity gaps with the Qt backend, each mapped onto the natural
ipywidgets equivalent:
- RangeSlider/FloatRangeSlider -> IntRangeSlider/FloatRangeSlider
- ProgressBar -> FloatProgress (no step trait, so step is tracked on
the backend widget; the frontend ProgressBar manages step itself)
- Image -> ipywidgets.Image, encoding the RGBA array to PNG via PIL
(the magicgui[image] extra, same as the frontend widget requires)
- RadioButtons -> ipywidgets.RadioButtons (vertical only for now;
horizontal raises NotImplementedError)
The single-RadioButton -> ipywidgets.RadioButtons mapping is left
untouched (pre-existing semantic mismatch, needs its own discussion).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat: support timers and process_events in the ipynb backend
_mgui_start_timer/_mgui_stop_timer are implemented with
asyncio.call_later on the kernel's running event loop, matching the Qt
backend's single-app-timer semantics (including single-shot).
_mgui_process_events becomes a no-op instead of raising: ipywidgets
updates are pushed over the kernel's comm channels as traits change,
so there is nothing to flush synchronously.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* test: cover the new ipynb widgets and timers on both backends
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Talley Lambert <talley.lambert@gmail.com>
0 commit comments