From c2b23ad8d61bdb3c42a61e484ebbb15a23ae20aa Mon Sep 17 00:00:00 2001 From: Maarten Breddels Date: Fri, 8 May 2026 10:40:31 +0200 Subject: [PATCH 1/2] restore bqplot 0.13 lab 3 visual coverage --- js/lib/bqplot-gl-loader-classic.js | 4 ++-- js/lib/bqplot-gl-loader.js | 2 +- pyproject.toml | 2 +- tox.ini | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/js/lib/bqplot-gl-loader-classic.js b/js/lib/bqplot-gl-loader-classic.js index 6bd65c9..3e6312d 100644 --- a/js/lib/bqplot-gl-loader-classic.js +++ b/js/lib/bqplot-gl-loader-classic.js @@ -3,11 +3,11 @@ function loadBqplotGL() { // this AMD-only prevents bqplot 0.12 from fetching bqplot-gl eagerly. var amdRequire = typeof window !== "undefined" && (window.requirejs || window.require); if(!amdRequire) { - return Promise.reject(new Error("bqplot-image-gl with bqplot 0.13 requires bqplot-gl. Install and enable bqplot-gl, or use bqplot 0.12.")); + return Promise.reject(new Error("bqplot-image-gl loaded its classic bqplot-gl bridge without a RequireJS loader.")); } return new Promise((resolve, reject) => { amdRequire(["bqplot-gl"], resolve, () => { - reject(new Error("bqplot-image-gl with bqplot 0.13 requires bqplot-gl. Install and enable bqplot-gl, or use bqplot 0.12.")); + reject(new Error("bqplot-image-gl with bqplot 0.13 requires bqplot-gl. Install bqplot-gl and enable its nbextension for classic frontends, or use bqplot 0.12.")); }); }); } diff --git a/js/lib/bqplot-gl-loader.js b/js/lib/bqplot-gl-loader.js index 02bb4a0..9420cc9 100644 --- a/js/lib/bqplot-gl-loader.js +++ b/js/lib/bqplot-gl-loader.js @@ -2,7 +2,7 @@ function loadBqplotGL() { // JupyterLab 4 resolves separately installed widget packages through // module federation, so the labextension bundle must use dynamic import. return import("bqplot-gl").catch(() => { - throw new Error("bqplot-image-gl with bqplot 0.13 requires bqplot-gl. Install and enable bqplot-gl, or use bqplot 0.12."); + throw new Error("bqplot-image-gl with bqplot 0.13 requires bqplot-gl. Install bqplot-gl so JupyterLab can load its labextension, or use bqplot 0.12."); }); } diff --git a/pyproject.toml b/pyproject.toml index 658160a..4ff4e78 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] requires = [ - "jupyterlab>=3.6", + "jupyterlab>=3.6,<4", "hatchling", "hatch-jupyter-builder>=0.5.0", ] diff --git a/tox.ini b/tox.ini index 3fbaac1..0edf072 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ isolated_build = true [testenv] setenv = - bqplot013: SOLARA_TEST_RUNNERS = solara,jupyter_notebook + bqplot013: SOLARA_TEST_RUNNERS = solara,jupyter_notebook,jupyter_lab changedir = test: .tmp/{envname} notebooks: examples @@ -27,7 +27,7 @@ deps = bqplot013: notebook<7 bqplot013: bqplot>=0.13,<0.14 bqplot013: bqplot-gl @ git+https://github.com/maartenbreddels/bqplot-gl.git@codex/export-webgl-figure-init - bqplot013: jupyterlab>=4,<5 + bqplot013: jupyterlab<4 extras = test: test notebooks: test From 20b5b53a508174971252b1a2730e82482090500e Mon Sep 17 00:00:00 2001 From: Maarten Breddels Date: Thu, 14 May 2026 21:21:21 +0200 Subject: [PATCH 2/2] Use released bqplot-gl dependency --- js/package-lock.json | 14 +++++++------- js/package.json | 4 ++-- tox.ini | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/js/package-lock.json b/js/package-lock.json index 4232840..620b03e 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -1,12 +1,12 @@ { "name": "bqplot-image-gl", - "version": "1.9.2", + "version": "1.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bqplot-image-gl", - "version": "1.9.2", + "version": "1.10.0", "hasInstallScript": true, "dependencies": { "@jupyter-widgets/base": "^1.0.0 || ^2.0.0 || ^3.0.0 || ^4 || ^6", @@ -24,7 +24,7 @@ }, "devDependencies": { "@jupyterlab/builder": "^3.0.0-rc.4 || ^4.0.0", - "bqplot-gl": "^0.1.0", + "bqplot-gl": "^0.1.1", "npm-run-all": "^4.1.5", "raw-loader": "^4", "rimraf": "^6.1.3", @@ -32,7 +32,7 @@ "webpack-cli": "^7" }, "peerDependencies": { - "bqplot-gl": ">=0.1.0 <0.2.0" + "bqplot-gl": ">=0.1.1 <0.2.0" }, "peerDependenciesMeta": { "bqplot-gl": { @@ -1083,9 +1083,9 @@ } }, "node_modules/bqplot-gl": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bqplot-gl/-/bqplot-gl-0.1.0.tgz", - "integrity": "sha512-vppqFCmjndc3IRDc/nijQftFr/FBSRt+u7zCpabwMIMGxoNC97R86T8AUfSdfYFqg/AVHoLeFU7ViaEAQl99Xg==", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/bqplot-gl/-/bqplot-gl-0.1.1.tgz", + "integrity": "sha512-M/k7T4TADW5HT2cvN+QzCODeOlvN6LSaOx0fQ9xXaHXqvek1GsLBujhcE/zhV2W/MqeJOxNoIt2iDIyTc5X+fg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { diff --git a/js/package.json b/js/package.json index 2946e3a..e98474e 100644 --- a/js/package.json +++ b/js/package.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@jupyterlab/builder": "^3.0.0-rc.4 || ^4.0.0", - "bqplot-gl": "^0.1.0", + "bqplot-gl": "^0.1.1", "npm-run-all": "^4.1.5", "raw-loader": "^4", "rimraf": "^6.1.3", @@ -55,7 +55,7 @@ "three": "^0.97.0" }, "peerDependencies": { - "bqplot-gl": ">=0.1.0 <0.2.0" + "bqplot-gl": ">=0.1.1 <0.2.0" }, "peerDependenciesMeta": { "bqplot-gl": { diff --git a/tox.ini b/tox.ini index 0edf072..d563ad4 100644 --- a/tox.ini +++ b/tox.ini @@ -26,7 +26,7 @@ deps = bqplot013: solara>=1.44.1 bqplot013: notebook<7 bqplot013: bqplot>=0.13,<0.14 - bqplot013: bqplot-gl @ git+https://github.com/maartenbreddels/bqplot-gl.git@codex/export-webgl-figure-init + bqplot013: bqplot-gl>=0.1.1 bqplot013: jupyterlab<4 extras = test: test