From 4ae3a55b7bab98697ec9561469f2d7b27a5eefbc Mon Sep 17 00:00:00 2001 From: Alan <> Date: Mon, 19 Jan 2026 18:57:05 +1100 Subject: [PATCH 1/3] Fix: missing 1 required positional argument: 'canvas' in Toolbar init https://github.com/matplotlib/ipympl/issues/488 --- ipympl/backend_nbagg.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ipympl/backend_nbagg.py b/ipympl/backend_nbagg.py index a6bb904b..3ccb1c7e 100644 --- a/ipympl/backend_nbagg.py +++ b/ipympl/backend_nbagg.py @@ -122,10 +122,8 @@ class Toolbar(DOMWidget, NavigationToolbar2WebAgg): _current_action = Enum(values=['pan', 'zoom', ''], default_value='').tag(sync=True) - def __init__(self, canvas, *args, **kwargs): - DOMWidget.__init__(self, *args, **kwargs) - NavigationToolbar2WebAgg.__init__(self, canvas, *args, **kwargs) - + def __init__(self, canvas, **kwargs): + super().__init__(canvas=canvas, **kwargs) self.on_msg(self.canvas._handle_message) def export(self): From b57a3311dc85a9c03d9b005526ad2c6d8d33e2f9 Mon Sep 17 00:00:00 2001 From: Alan <> Date: Tue, 20 Jan 2026 14:27:19 +1100 Subject: [PATCH 2/3] Use super pattern in Canvas__init__ for better consistency. --- ipympl/backend_nbagg.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ipympl/backend_nbagg.py b/ipympl/backend_nbagg.py index 3ccb1c7e..12c28c5a 100644 --- a/ipympl/backend_nbagg.py +++ b/ipympl/backend_nbagg.py @@ -238,9 +238,8 @@ class Canvas(DOMWidget, FigureCanvasWebAggCore): # Static as it should be the same for all canvases current_dpi_ratio = 1.0 - def __init__(self, figure, *args, **kwargs): - DOMWidget.__init__(self, *args, **kwargs) - FigureCanvasWebAggCore.__init__(self, figure, *args, **kwargs) + def __init__(self, figure, **kwargs): + super().__init__(figure=figure, **kwargs) self.on_msg(self._handle_message) From 3e920f2e55ccea06f0821a96ad93b3d8b96632aa Mon Sep 17 00:00:00 2001 From: Alan <> Date: Tue, 20 Jan 2026 14:28:24 +1100 Subject: [PATCH 3/3] DEMO fixed with jupyter-widgets/ipywidgets#4002 --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 519c2dff..d9557b90 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,6 +104,9 @@ jobs: - name: Validate the labextension run: jupyter labextension list 2>&1 | grep jupyter-matplotlib + - name: Install ipywidgets patched version (temporary) + run: pip install --force-reinstall https://github.com/fleming79/ipylab/releases/download/v2.0.9/ipywidgets-8.1.8-py3-none-any.whl + - name: Run pytest run: pytest -v .