From 9af42c9e349865178629d48a38e3a9ea9a406196 Mon Sep 17 00:00:00 2001 From: Thomas A Caswell Date: Tue, 15 Nov 2022 17:14:01 -0500 Subject: [PATCH 01/19] MNT: PEP 632 removed distutils It was only being used for logging. --- setup.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.py b/setup.py index 2481a6b8..7a25735e 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,4 @@ import os -from distutils import log from os.path import join as pjoin from jupyter_packaging import ( @@ -18,8 +17,6 @@ HERE = os.path.dirname(os.path.abspath(__file__)) long_description = 'Matplotlib Jupyter Extension' -log.info('setup.py entered') -log.info('$PATH=%s' % os.environ['PATH']) # Get ipympl version version = get_version(os.path.join(name, '_version.py')) From 564f0467d1d2882228e83ac38adeb1ef86ecd7e6 Mon Sep 17 00:00:00 2001 From: Mo-Gul Date: Tue, 29 Nov 2022 15:11:39 +0100 Subject: [PATCH 02/19] docs: fix typo --- docs/index.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.ipynb b/docs/index.ipynb index 31e273e5..4f16f7b7 100644 --- a/docs/index.ipynb +++ b/docs/index.ipynb @@ -25,7 +25,7 @@ "\n", "\n", "## Basic Example\n", - "To activate the `ipympl` backend all you need to do is include the `%matplotlib ipympl` magic in the notebook. Alternatively you can use `%matplotlib widget` which will have have the same effect." + "To activate the `ipympl` backend all you need to do is include the `%matplotlib ipympl` magic in the notebook. Alternatively you can use `%matplotlib widget` which will have the same effect." ] }, { From 3f253a48ee39013ce88ed5a13399bf170bb3ce0e Mon Sep 17 00:00:00 2001 From: Matthew Toohey Date: Mon, 19 Dec 2022 19:19:46 +1100 Subject: [PATCH 03/19] Make handle_binary compliant with the KernelMessage.IMessage spec Since Jupyterlab v4.0.0a21 the buffers deserialized from a KernelMessage are now of type ArrayBuffer instead of the DataView type handle_binary expects. However, it turns out that the spec for KernelMessage.IMessage has always specifed that buffers could be either an ArrayBuffer or an ArrayBufferView. This commit ensures either type is accepted. --- src/mpl_widget.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mpl_widget.ts b/src/mpl_widget.ts index 06841f2b..373bcd0b 100644 --- a/src/mpl_widget.ts +++ b/src/mpl_widget.ts @@ -234,10 +234,10 @@ export class MPLCanvasModel extends DOMWidgetModel { this.send_draw_message(); } - handle_binary(msg: any, dataviews: any) { + handle_binary(msg: any, buffers: (ArrayBuffer | ArrayBufferView)[]) { const url_creator = window.URL || window.webkitURL; - const buffer = new Uint8Array(dataviews[0].buffer); + const buffer = new Uint8Array(ArrayBuffer.isView(buffers[0]) ? buffers[0].buffer : buffers[0]); const blob = new Blob([buffer], { type: 'image/png' }); const image_url = url_creator.createObjectURL(blob); @@ -263,7 +263,7 @@ export class MPLCanvasModel extends DOMWidgetModel { // button to toggle? } - on_comm_message(evt: any, dataviews: any) { + on_comm_message(evt: any, buffers: (ArrayBuffer | ArrayBufferView)[]) { const msg = JSON.parse(evt.data); const msg_type = msg['type']; let callback; @@ -281,7 +281,7 @@ export class MPLCanvasModel extends DOMWidgetModel { } if (callback) { - callback(msg, dataviews); + callback(msg, buffers); } } From 1237eca7788cbcb21411765c12fb2016c6058623 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 19 Dec 2022 08:35:31 +0000 Subject: [PATCH 04/19] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/mpl_widget.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mpl_widget.ts b/src/mpl_widget.ts index 373bcd0b..7e839f92 100644 --- a/src/mpl_widget.ts +++ b/src/mpl_widget.ts @@ -237,7 +237,9 @@ export class MPLCanvasModel extends DOMWidgetModel { handle_binary(msg: any, buffers: (ArrayBuffer | ArrayBufferView)[]) { const url_creator = window.URL || window.webkitURL; - const buffer = new Uint8Array(ArrayBuffer.isView(buffers[0]) ? buffers[0].buffer : buffers[0]); + const buffer = new Uint8Array( + ArrayBuffer.isView(buffers[0]) ? buffers[0].buffer : buffers[0] + ); const blob = new Blob([buffer], { type: 'image/png' }); const image_url = url_creator.createObjectURL(blob); From 1d79829542016164128c119c28b876b4ad0b44ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dieter=20Werthm=C3=BCller?= Date: Tue, 7 Feb 2023 13:54:46 +0100 Subject: [PATCH 05/19] Remove duplicate 'Google Colab'. --- docs/index.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.ipynb b/docs/index.ipynb index 4f16f7b7..dfea6be0 100644 --- a/docs/index.ipynb +++ b/docs/index.ipynb @@ -7,7 +7,7 @@ "source": [ "# ipympl\n", "\n", - "`ipympl` enables using the interactive features of matplotlib in Jupyter Notebooks, Jupyter Lab, Google Colab, VSCode notebooks, Google Colab\n", + "`ipympl` enables using the interactive features of matplotlib in Jupyter Notebooks, Jupyter Lab, Google Colab, VSCode notebooks.\n", "\n", "Matplotlib requires a live Python kernel to have interactive plots so by default the outputs on this page will not be interactive. To try things out yourself you can either use [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/matplotlib/ipympl/stable?urlpath=retro/notebooks/examples/ipympl.ipynb) or make these docs interactive by clicking on the rocket icon in the top right of the page.\n", "\n", From a988f9e7aa94f4f2581a0bf073ca29bf33ec66a5 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 14:44:29 +0100 Subject: [PATCH 06/19] Fixup CI --- .github/workflows/docs.yml | 7 +++---- .github/workflows/main.yml | 12 +++++------- .github/workflows/release.yml | 5 ++--- .github/workflows/update_galata_references.yaml | 7 +++---- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7ace4355..57cb64bb 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,13 +11,12 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - - name: Setup conda - uses: conda-incubator/setup-miniconda@v2 + - name: Install Conda environment with Micromamba + uses: mamba-org/provision-with-micromamba@main with: - activate-environment: ipympl-dev + environment-name: ipympl-dev environment-file: dev-environment.yml python-version: ${{ matrix.python-version }} - mamba-version: "*" auto-activate-base: false channels: conda-forge - name: Install diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a1f22ef5..34338515 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,13 +22,12 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Setup conda - uses: conda-incubator/setup-miniconda@v2 + - name: Install Conda environment with Micromamba + uses: mamba-org/provision-with-micromamba@main with: - activate-environment: ipympl-dev + environment-name: ipympl-dev environment-file: dev-environment.yml python-version: ${{ matrix.python-version }} - mamba-version: "*" auto-activate-base: false channels: conda-forge @@ -64,11 +63,10 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Setup conda - uses: conda-incubator/setup-miniconda@v2 + - name: Install Conda environment with Micromamba + uses: mamba-org/provision-with-micromamba@main with: python-version: ${{ matrix.python-version }} - mamba-version: "*" auto-activate-base: false channels: conda-forge diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c688949f..bd60de0f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,10 +10,9 @@ jobs: - uses: actions/checkout@v2 - - name: Setup conda - uses: conda-incubator/setup-miniconda@v2 + - name: Install Conda environment with Micromamba + uses: mamba-org/provision-with-micromamba@main with: - mamba-version: "*" channels: conda-forge - name: Install dependencies diff --git a/.github/workflows/update_galata_references.yaml b/.github/workflows/update_galata_references.yaml index 42c70daa..e770c4d4 100644 --- a/.github/workflows/update_galata_references.yaml +++ b/.github/workflows/update_galata_references.yaml @@ -32,13 +32,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Setup conda - uses: conda-incubator/setup-miniconda@v2 + - name: Install Conda environment with Micromamba + uses: mamba-org/provision-with-micromamba@main with: - activate-environment: ipympl-dev + environment-name: ipympl-dev environment-file: dev-environment.yml python-version: 3.9 - mamba-version: "*" auto-activate-base: false channels: conda-forge From dace0b85cc3386a9be0dbca52217deba13e01bdf Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 14:55:12 +0100 Subject: [PATCH 07/19] Fixup --- .github/workflows/main.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34338515..51df0e2b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -66,13 +66,12 @@ jobs: - name: Install Conda environment with Micromamba uses: mamba-org/provision-with-micromamba@main with: + environment-name: ipympl-dev + environment-file: dev-environment.yml python-version: ${{ matrix.python-version }} auto-activate-base: false channels: conda-forge - - name: Install dependencies - run: mamba install python=${{ matrix.python-version }} pip yarn nodejs=16 jupyterlab jupyter-packaging nbval pytest ipywidgets - - if: matrix.mpl-version == 'latest' name: Install latest Matplotlib run: pip install --upgrade --pre --index-url https://pypi.anaconda.org/scipy-wheels-nightly/simple --extra-index-url https://pypi.org/simple matplotlib From 966801342b771642a6043a2ccb4311c451dfb1f9 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 15:03:42 +0100 Subject: [PATCH 08/19] Mamba install -> micromamba install --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 51df0e2b..4e77559d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -78,7 +78,7 @@ jobs: - if: matrix.mpl-version != 'latest' name: Install matplotlib pinned - run: mamba install matplotlib=${{ matrix.mpl-version}}.* + run: micromamba install matplotlib=${{ matrix.mpl-version}}.* - uses: actions/download-artifact@v2 with: From 6d583fbb591560b2dd94ac290c149926bc97b38d Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 15:06:10 +0100 Subject: [PATCH 09/19] Update Galata --- ui-tests/package.json | 2 +- ui-tests/yarn.lock | 657 +++++++++++++++++++++++------------------- 2 files changed, 364 insertions(+), 295 deletions(-) diff --git a/ui-tests/package.json b/ui-tests/package.json index 4f9409cd..84d5d671 100644 --- a/ui-tests/package.json +++ b/ui-tests/package.json @@ -14,7 +14,7 @@ "author": "ipympl", "license": "Apache-2.0", "dependencies": { - "@jupyterlab/galata": "^4.3.5", + "@jupyterlab/galata": "~4.5.0", "klaw-sync": "^6.0.0", "rimraf": "^3.0.2" } diff --git a/ui-tests/yarn.lock b/ui-tests/yarn.lock index 49caefc9..6c0dec46 100644 --- a/ui-tests/yarn.lock +++ b/ui-tests/yarn.lock @@ -67,23 +67,35 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== -"@jupyterlab/application@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-3.4.5.tgz#c231990818f570e73450abd2b4b18ef1112a8118" - integrity sha512-ii4wSRx24MPPkQyp06h2PWUGoIr0ImhsQK5cauIVcI+PYQSjS2EukR1VTPUUDjERypQrV/Ef5BfT6Y5wiAEldg== +"@jupyter/ydoc@~0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@jupyter/ydoc/-/ydoc-0.2.2.tgz#a2be83d2a0e076cef7ed77302e69153a0a4d6c16" + integrity sha512-UtU7ZxpL0k+QF9So4wtGxaS2C+nno58dig7sQUaBn48wlQDiuypzKgUmF7I37srpu6f/ywon3JBuEjxuL1CIBQ== + dependencies: + "@jupyterlab/nbformat" "^3.0.0 || ^4.0.0-alpha.15" + "@lumino/coreutils" "^1.11.0 || ^2.0.0-alpha.6" + "@lumino/disposable" "^1.10.0 || ^2.0.0-alpha.6" + "@lumino/signaling" "^1.10.0 || ^2.0.0-alpha.6" + y-protocols "^1.0.5" + yjs "^13.5.40" + +"@jupyterlab/application@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/application/-/application-3.6.1.tgz#41b897a809847fcd9426fe12ab0415c4373d24ed" + integrity sha512-EpZ5pByXqiNwX9Kj6H5UepYJ9nNI3uU0ule7vCHhLmvJTM9+ARUKT9a52qp2uAyZSjdihl1cHfVKONEM9Xn8fA== dependencies: "@fortawesome/fontawesome-free" "^5.12.0" - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docregistry" "^3.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/rendermime-interfaces" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/statedb" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docregistry" "^3.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/rendermime-interfaces" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/statedb" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" - "@lumino/application" "^1.27.0" + "@lumino/application" "^1.31.3" "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" @@ -91,20 +103,20 @@ "@lumino/polling" "^1.9.0" "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" - -"@jupyterlab/apputils@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-3.4.5.tgz#92efef5c4b6a6bd78ebd6aa108736329731505ca" - integrity sha512-PhmllK1OJhQNAm5EfEUKcBYKe2W3fOy6/qxiTwATlNfeCNNdt+6S0O00yV8iPa3lNUj/uDlvvrydb0p7qXUBtA== - dependencies: - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/settingregistry" "^3.4.5" - "@jupyterlab/statedb" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" + "@lumino/widgets" "^1.37.1" + +"@jupyterlab/apputils@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/apputils/-/apputils-3.6.1.tgz#c547886300e67c5eea0b9ee349e6e1acb0576e64" + integrity sha512-/kvncjPLuBnq8unPEVxI/iwUVCVPFw9bmpnYenOdoAlbdrDD8nJwsiFi4xpk1d4VittPZ6vJaAMvXA0X2QGYlQ== + dependencies: + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/settingregistry" "^3.6.1" + "@jupyterlab/statedb" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" @@ -115,43 +127,43 @@ "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" "@lumino/virtualdom" "^1.14.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" "@types/react" "^17.0.0" react "^17.0.1" react-dom "^17.0.1" - sanitize-html "~2.5.3" + sanitize-html "~2.7.3" url "^0.11.0" -"@jupyterlab/attachments@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-3.4.5.tgz#4bdcb7a587fc976d6019cd5806829666a5d131b6" - integrity sha512-GGLLQaQIMRKnkX5+reegPtuRzZ1EovXbaioyoAJSyCPQm56n/UQbzjwkMQKn6VKxIk1jGXuF3Xe0sCrgmImHoA== +"@jupyterlab/attachments@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/attachments/-/attachments-3.6.1.tgz#af3b3baa0f4150d412a874121b15029e9761c3a8" + integrity sha512-0RA8H0pR3apvqHmkzuFJcJrNXXVDa5GG2Y2Nb5QDtOj+IFRMxEa/8Q4rXtiC7p+fDIgKC/B8xa4CTQlfDCEjaw== dependencies: - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/rendermime-interfaces" "^3.4.5" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/rendermime-interfaces" "^3.6.1" "@lumino/disposable" "^1.10.0" "@lumino/signaling" "^1.10.0" -"@jupyterlab/cells@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-3.4.5.tgz#aa26fa7e32a66f6a842debd80dc16071c6870c64" - integrity sha512-SA4HquD6nk0LQ4aFHpMiQTG2FBEDKxj4MLn791/Ojf1MUWAwzGIhGWJELmne0oeDnYn58BWDGxhvD2NOKJMV8w== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/attachments" "^3.4.5" - "@jupyterlab/codeeditor" "^3.4.5" - "@jupyterlab/codemirror" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/filebrowser" "^3.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/outputarea" "^3.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/shared-models" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" +"@jupyterlab/cells@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/cells/-/cells-3.6.1.tgz#84c4a43cb66e94a934bcf25172b6ded64d87bba6" + integrity sha512-Ojep4Sw83c4uzYSDMQcECW7wuan/dkerimKkb/5cm277ryHL51IgjZTEpJKaW8AeEjNxtAwjlo4cl/5KIwKvQw== + dependencies: + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/attachments" "^3.6.1" + "@jupyterlab/codeeditor" "^3.6.1" + "@jupyterlab/codemirror" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/filebrowser" "^3.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/outputarea" "^3.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/domutils" "^1.8.0" @@ -160,56 +172,56 @@ "@lumino/polling" "^1.9.0" "@lumino/signaling" "^1.10.0" "@lumino/virtualdom" "^1.14.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" marked "^4.0.17" react "^17.0.1" -"@jupyterlab/codeeditor@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-3.4.5.tgz#18a5665f0881be03597f942edc6c146bd4e407a5" - integrity sha512-Kl1dX9UyM4OzxXzwerosc7TBTVR+88D2kEKYS7nezSBlwJIfpKnC78U5gMLle0/bxACu1qXJTuyFzbReY0rtDg== - dependencies: - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/shared-models" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" +"@jupyterlab/codeeditor@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/codeeditor/-/codeeditor-3.6.1.tgz#9643e9f4f594f6cc3f02a2d5a192d8e2bc844284" + integrity sha512-KIALB/PHY9LheZ0zGYMHnDGVUO5xReiG+u0Gb+658xYET148a/pU4kp47GzTYB2bsQRrmOmtMqda1/Nhn/c0xw== + dependencies: + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/dragdrop" "^1.13.0" "@lumino/messaging" "^1.10.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" - -"@jupyterlab/codemirror@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-3.4.5.tgz#5d46b351c4364e43d2a58778072e03cde8fd23f3" - integrity sha512-ODN7uASgWEpfvSAWCRqmeg5nuMA0e9e4kuV844zri1tieh/7Rbcdxj6dgVNnt0FRmAmH4z0gqMPZa38kXAs9GQ== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/codeeditor" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/shared-models" "^3.4.5" - "@jupyterlab/statusbar" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" + "@lumino/widgets" "^1.37.1" + +"@jupyterlab/codemirror@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/codemirror/-/codemirror-3.6.1.tgz#e21134b02d8ae5b6d971549a689b8462987d30c7" + integrity sha512-hEjdAm1bSsBNuzjhnCJrphVdl8HZSGh/+q2MioyF7zRK+VbFarx7DKoYdAtaunHu5MkYA9NGf7mjLVyg17dK9g== + dependencies: + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/codeeditor" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/statusbar" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/polling" "^1.9.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" codemirror "~5.61.0" react "^17.0.1" y-codemirror "^3.0.1" -"@jupyterlab/coreutils@^5.4.5": - version "5.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-5.4.5.tgz#08e84d6f817c29883d0433cf1f9c08c063fbdd3f" - integrity sha512-nS7h0ABc8mbfhNg/1rOpNQZ6lR/UW8+Ehj4IOiod9RFnk+CiH+qlC8r4bBHhjoApnXW/6lxUbQnrBh5V2kjsMQ== +"@jupyterlab/coreutils@^5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/coreutils/-/coreutils-5.6.1.tgz#da6c2fe28298ffcad09f1ec5ad4202bdaf1c07c8" + integrity sha512-nS4ixC9H53lFzdszOfZfDhlM2hlXfOtQAn6TnA/0Ra/gTBQ+LEbFIWdAp588iKuv8eKX39O/Us53T4oq24A31g== dependencies: "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" @@ -219,77 +231,80 @@ path-browserify "^1.0.0" url-parse "~1.5.1" -"@jupyterlab/docmanager@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-3.4.5.tgz#eeecce1717a831e48317717afe8f04ef68242828" - integrity sha512-C5iW30A+Wj3yegyoXPq29pWOez1gPILESXLxzy3MYXBMpQtnkq8qWVQsyIbIFnh01HvHnKMdmXysdLB9vS7P8Q== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docprovider" "^3.4.5" - "@jupyterlab/docregistry" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/statusbar" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" +"@jupyterlab/docmanager@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/docmanager/-/docmanager-3.6.1.tgz#2f62aabb9dc3f8007f5f54b61473274f784b1972" + integrity sha512-olDFoXq2H6TsnCk4OMJus4PcmXCtc2uewZy66XcLD7igDxKvQ50h9uF2wnrxohlgvXxZV9HTMyDyLD7layt82g== + dependencies: + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docprovider" "^3.6.1" + "@jupyterlab/docregistry" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/statusbar" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/messaging" "^1.10.0" "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" react "^17.0.1" -"@jupyterlab/docprovider@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-3.4.5.tgz#f42dab6b64f5877feafcda5fd5e4d3576e5a4dd6" - integrity sha512-2/TNVzNhp0Xzi4d8EDgM9FqM2u6tM247QpFsMB3i44yBKiKSSvMUul9Guv0dQsNpZRvfIH11kNWuqMpnXIDnfg== +"@jupyterlab/docprovider@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/docprovider/-/docprovider-3.6.1.tgz#8be66a419d595b490d6ca3f79238fd160d1cd53e" + integrity sha512-YeqLMPlC2jEWBvxgIVfhxbeYXWKb5DGEkv+WJp11S6oFgSNqAHZ1zqH1BB/+UgYWwwkafADwAjepaGFhnr2pPw== dependencies: - "@jupyterlab/shared-models" "^3.4.5" + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/services" "^6.6.1" "@lumino/coreutils" "^1.11.0" - lib0 "^0.2.42" + "@lumino/disposable" "^1.10.0" + "@lumino/signaling" "^1.10.0" + y-protocols "^1.0.5" y-websocket "^1.3.15" yjs "^13.5.17" -"@jupyterlab/docregistry@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-3.4.5.tgz#e8a2b073b24b4615bd0b62c42834cc246bc125a5" - integrity sha512-Cg8GI9xveAWaq57oTzhwYNhrQyhQpAUUjValDHaASVNAyZ9SNatdqRSapmB1harCE5SQVoxdwYZzQgDDFu4Bxw== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/codeeditor" "^3.4.5" - "@jupyterlab/codemirror" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docprovider" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/rendermime-interfaces" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/shared-models" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" +"@jupyterlab/docregistry@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/docregistry/-/docregistry-3.6.1.tgz#942b76ea7c59ab9ee375dce4a7bb9377d28d7f61" + integrity sha512-uQsmw1LpvcRC8CZ/cjmFnQKB+E+kWqJQDGwtzBDjZm4UcADVs1mwvSwPpAZvTBb0gmYBcS09mTZt7WgVv1Nj8A== + dependencies: + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/codeeditor" "^3.6.1" + "@jupyterlab/codemirror" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docprovider" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/rendermime-interfaces" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/messaging" "^1.10.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" - yjs "^13.5.17" - -"@jupyterlab/filebrowser@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-3.4.5.tgz#d9471af4afae39351cdabbceb7c77482fdae89ec" - integrity sha512-bZhUm+9gR0VKYRpDAlFciAoJ6mimNinbMM7mIe+LmRhqA/MZaFwoyI+WbZ8XBlJoV2FSHG8/OJNADSFIDTVmrg== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docmanager" "^3.4.5" - "@jupyterlab/docregistry" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/statedb" "^3.4.5" - "@jupyterlab/statusbar" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" + "@lumino/widgets" "^1.37.1" + +"@jupyterlab/filebrowser@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/filebrowser/-/filebrowser-3.6.1.tgz#8fe44d03545fd9318fe8014edd5c4ddbf705bcb5" + integrity sha512-brd5PQQ1m9HK+53opahoi6SaEO0oweRloE1GJEA9t9CHKklpiZ18/3QXF+WDgHtV2UU3ZDmND7Fq5YCets2lBg== + dependencies: + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docmanager" "^3.6.1" + "@jupyterlab/docregistry" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/statedb" "^3.6.1" + "@jupyterlab/statusbar" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" @@ -299,22 +314,22 @@ "@lumino/polling" "^1.9.0" "@lumino/signaling" "^1.10.0" "@lumino/virtualdom" "^1.14.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" react "^17.0.1" -"@jupyterlab/galata@^4.3.5": - version "4.3.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/galata/-/galata-4.3.5.tgz#d8f1059ec48f40b5387013cf7864242c5f26fc4e" - integrity sha512-uSNeG0TWjOq2/IHcVWDCQRFVjllV2AJp5SesOKlXtS48F0ncnbTeKLDbWP3JgheiyfvcPOmjPZFMicI6Zd6Zsw== - dependencies: - "@jupyterlab/application" "^3.4.5" - "@jupyterlab/cells" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docmanager" "^3.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/notebook" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/settingregistry" "^3.4.5" +"@jupyterlab/galata@~4.5.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/galata/-/galata-4.5.1.tgz#7a354e312c2f926e76a16fd8901240ce20bf6917" + integrity sha512-bF2mulnpwie/RZSNpc29uhNl+iTAesMzO/vFpQiHYN5MFAXHDSfx+xwgQdDhFl0A9Y7bBE0qE6cfgpY1fzIeLQ== + dependencies: + "@jupyterlab/application" "^3.6.1" + "@jupyterlab/cells" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docmanager" "^3.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/notebook" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/settingregistry" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@playwright/test" "^1.16.2" @@ -329,32 +344,32 @@ vega-lite "^5.1.0" vega-statistics "^1.7.9" -"@jupyterlab/nbformat@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.4.5.tgz#e7df0ce1d9ce77af0f69bbb8d4ec33978b00b54d" - integrity sha512-35AHfuqw1vElV6WAmE6XTe8ehpOQ6n6YOz2BxXqNkERMm8mUJjAO8Wbo7cssaFavF6T+FxNogoAI08DAel1S3Q== +"@jupyterlab/nbformat@^3.0.0 || ^4.0.0-alpha.15", "@jupyterlab/nbformat@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/nbformat/-/nbformat-3.6.1.tgz#84f1239ff0a54d693beed21534aef1baeaa93518" + integrity sha512-fLJTAwnQZ/5H9dBV/noqlkbGmGBbcsgd0FHWyMVIq+efKFX6CW1MOk61uM76rfahkke3XgYgvlXsw7i7lEIhcA== dependencies: "@lumino/coreutils" "^1.11.0" -"@jupyterlab/notebook@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-3.4.5.tgz#ddaf4b35e1eda581603bc5abe348c25a2fbd2a62" - integrity sha512-ScoE5Kv558PqkgfVuzvr8R58taeLZqKZ34hDW1VY9+fxXJyqOkyeBWkKyJ/R8l0JyL/37XDxBDIaSDyqowXNvQ== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/cells" "^3.4.5" - "@jupyterlab/codeeditor" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/docregistry" "^3.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/settingregistry" "^3.4.5" - "@jupyterlab/shared-models" "^3.4.5" - "@jupyterlab/statusbar" "^3.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" +"@jupyterlab/notebook@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/notebook/-/notebook-3.6.1.tgz#9bb7d78c694f403b1b5d59889737e56c787348d2" + integrity sha512-wkc0/HcnLhYSMtF1y5pf2ngvuhU0UE6tmIjCWl4rP0aC4aAjZZzkRNXV4EwNfY73fLT4EGB149l8Jv4vKUVGdQ== + dependencies: + "@jupyter/ydoc" "~0.2.0" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/cells" "^3.6.1" + "@jupyterlab/codeeditor" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/docregistry" "^3.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/settingregistry" "^3.6.1" + "@jupyterlab/statusbar" "^3.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/domutils" "^1.8.0" @@ -363,13 +378,13 @@ "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" "@lumino/virtualdom" "^1.14.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" react "^17.0.1" -"@jupyterlab/observables@^4.4.5": - version "4.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-4.4.5.tgz#e44841256b6fff1046150d156169054611c7dc11" - integrity sha512-FjSsWnwPAxbqQJs7ELFVLu2lt6NTlBZEz9moA0b4KHEMhnMeq3GvgAE7ZDzCsdyC1BayIaGZOhMtwvtDZgXz8g== +"@jupyterlab/observables@^4.6.1": + version "4.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/observables/-/observables-4.6.1.tgz#7d05b60192e85732db29de5f9e8525798a08aee6" + integrity sha512-ez+fxyE3qwQ9grZ0nj2fpgcPIGySs/cNfojfcQatziV2rbFZzrBJJsWFSBhPO55vJd1Mue21aPw1eEK3ok4Wfw== dependencies: "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" @@ -377,66 +392,66 @@ "@lumino/messaging" "^1.10.0" "@lumino/signaling" "^1.10.0" -"@jupyterlab/outputarea@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-3.4.5.tgz#8cf751165bd4be67531f18f94890b5f7e04c1904" - integrity sha512-irXI08oW16ifqAvZpehSneWhBqck8kotMSbzwW+BhA7JANmRXYBiNdfS7z5NrnpiGO04nfeLSjCAuPMjOAf60w== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/rendermime" "^3.4.5" - "@jupyterlab/rendermime-interfaces" "^3.4.5" - "@jupyterlab/services" "^6.4.5" +"@jupyterlab/outputarea@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/outputarea/-/outputarea-3.6.1.tgz#904d0933d4e8c4bedb6e4179da8d4b6cfd32630d" + integrity sha512-/OWU9LvKeRUk5mzQskhPQtWY6/NIiRy3bzhbFesSJ1+3f+L1pk7mXCHmRxiG6FSw2ujeCV3vO4uFTXGLxoqiAw== + dependencies: + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/rendermime" "^3.6.1" + "@jupyterlab/rendermime-interfaces" "^3.6.1" + "@jupyterlab/services" "^6.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/messaging" "^1.10.0" "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" resize-observer-polyfill "^1.5.1" -"@jupyterlab/rendermime-interfaces@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-3.4.5.tgz#d5e4b1c7293eacd6e7d5d833e1783abec19e97a5" - integrity sha512-1JMccjzfVnQVIJIC5fa71IHroduvgffOX7GF6mga64g8ZRB7Ks/ljB3FviXJucjWYYqV1r33k/eVR3+hKAeoKA== +"@jupyterlab/rendermime-interfaces@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime-interfaces/-/rendermime-interfaces-3.6.1.tgz#d531a6ba228df83b581aee0df5041f7f9a1b4495" + integrity sha512-IB0rFBTRpguGbAF/WmNPa//UfXcZLRur5DuSwP5tRz2iUZIu/dAFeLDq3j8NL2POz1+yeXyQSQyp2Xu9w8CrFw== dependencies: - "@jupyterlab/translation" "^3.4.5" + "@jupyterlab/translation" "^3.6.1" "@lumino/coreutils" "^1.11.0" - "@lumino/widgets" "^1.33.0" - -"@jupyterlab/rendermime@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-3.4.5.tgz#178e74018faf32b9b2f41d7e97a465580d02afd5" - integrity sha512-VE9GfOqm1+PJhbwzaQ1br7l+mgykTf8JmhX7/GdJyuuMhaT93Ue610LEr2MX99fI3/ugO0Oo4nn93yCAKTm/6w== - dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/codemirror" "^3.4.5" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/rendermime-interfaces" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/translation" "^3.4.5" + "@lumino/widgets" "^1.37.1" + +"@jupyterlab/rendermime@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/rendermime/-/rendermime-3.6.1.tgz#ebeef56293cf83f6aa8eb8f12edcd16c4eaafae7" + integrity sha512-v4YHIxSd+0foqyzTaloBPevdYUBgZ4Tk1uuXzTdCVIdceS9MG76UfjBu8EPl86AZI8R2ihlHh01pxpgLX0Smdw== + dependencies: + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/codemirror" "^3.6.1" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/rendermime-interfaces" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/translation" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/messaging" "^1.10.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" lodash.escape "^4.0.1" marked "^4.0.17" -"@jupyterlab/services@^6.4.5": - version "6.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-6.4.5.tgz#514e8de619fa97e03ea09a041153a26c04755a58" - integrity sha512-/qE5VuA10l5C9CKYvZ9pPsmKEpGFR9p74yrC84B2cK2ErF+SPw+dHGAEilGPBco9tUWE4i4C1mtJhtxn7U9zeg== +"@jupyterlab/services@^6.6.1": + version "6.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/services/-/services-6.6.1.tgz#5fd96574bb1eee2e4217a6d039b4dcdeb51bb66f" + integrity sha512-4YIwTsfx7+JO7Lz9YFTpUvniA3aHdR5dDQJfdo9TsCMxs+NDVfjNAvp9VHa1xNJWYll4Ay31lYWbvuN/SI+KEA== dependencies: - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/nbformat" "^3.4.5" - "@jupyterlab/observables" "^4.4.5" - "@jupyterlab/settingregistry" "^3.4.5" - "@jupyterlab/statedb" "^3.4.5" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/nbformat" "^3.6.1" + "@jupyterlab/observables" "^4.6.1" + "@jupyterlab/settingregistry" "^3.6.1" + "@jupyterlab/statedb" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" @@ -445,12 +460,12 @@ node-fetch "^2.6.0" ws "^7.4.6" -"@jupyterlab/settingregistry@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.4.5.tgz#4e141e09c0105ae5e1ab96785b16db1661ef30ef" - integrity sha512-7TzNT4OQjKPGQnsSZpzR2A4AUOnyUBulcBi6lUrxdWASDTPvh85oMH8nrf++ZIGYv8oX2Ot1rNG+VXRyFiKSKw== +"@jupyterlab/settingregistry@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/settingregistry/-/settingregistry-3.6.1.tgz#cd04e64d598598950c64aa99e1fc8a2c962d8c31" + integrity sha512-zNCYIK6/oWG6JnhmwRGE/Zvn5Xhj0kovcJgTlOSHGyIiHqLfJA9TzHZDNUDANqqxAg4+H9fYdh1+agi4XWGL8A== dependencies: - "@jupyterlab/statedb" "^3.4.5" + "@jupyterlab/statedb" "^3.6.1" "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" @@ -458,22 +473,10 @@ ajv "^6.12.3" json5 "^2.1.1" -"@jupyterlab/shared-models@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/shared-models/-/shared-models-3.4.5.tgz#f7e1aa61eece8ac04b5d70fe86bfc2a1808317a2" - integrity sha512-yjt0AhgNLGF2k3iDcwgtsQirMPue6nJxSKkzU8yuaxWVVQVbK6FWaPioj/hLW+a+PGSpAAjV02spUbQEdNMZYw== - dependencies: - "@jupyterlab/nbformat" "^3.4.5" - "@lumino/coreutils" "^1.11.0" - "@lumino/disposable" "^1.10.0" - "@lumino/signaling" "^1.10.0" - y-protocols "^1.0.5" - yjs "^13.5.17" - -"@jupyterlab/statedb@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-3.4.5.tgz#3ef7d19809025074b911044df168adcce91cacc6" - integrity sha512-WeLFCV5EsIxggYhdzbS+VJ0Lh8DjfQY5/QCBg5LoGMcTR7I3+aOXbFOBz/YKd1ZOhUnTtItVyDav4JreEpBhmg== +"@jupyterlab/statedb@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/statedb/-/statedb-3.6.1.tgz#3f64bfee22ff7779404835fa87b08c67e66716c3" + integrity sha512-6+fGzKUCaWBKX/fZDdXR++WgfvYE+Dv5ma8gkgcHaS2vEup2snkmgZ8fBUJXm5xVpU4KhXjTUb7dafLfG7BL3Q== dependencies: "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" @@ -481,52 +484,52 @@ "@lumino/properties" "^1.8.0" "@lumino/signaling" "^1.10.0" -"@jupyterlab/statusbar@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-3.4.5.tgz#6b0b36feefda3e5b572fc52962d40d62bd751e4a" - integrity sha512-+FFF3Ddnernonam/RByp/UICp31nTbUwp+HUDrVsDyr/9AvsJ4oR2Un7xnUJYx3SE+MYRBoQ1VddLiFHECOGBQ== +"@jupyterlab/statusbar@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/statusbar/-/statusbar-3.6.1.tgz#382c32eb6599973176d5ac0497e4a0c9dfa8df37" + integrity sha512-rpQa6G6agR+lu3Djt/YTroQ4W3ZasfGmtmO24IXsm3C5418nPIl2oQeEJTc7OsXRvsdoCoAK7c/Rh9TeyhBhug== dependencies: - "@jupyterlab/apputils" "^3.4.5" - "@jupyterlab/codeeditor" "^3.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/translation" "^3.4.5" - "@jupyterlab/ui-components" "^3.4.5" + "@jupyterlab/apputils" "^3.6.1" + "@jupyterlab/codeeditor" "^3.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/translation" "^3.6.1" + "@jupyterlab/ui-components" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/messaging" "^1.10.0" "@lumino/signaling" "^1.10.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" csstype "~3.0.3" react "^17.0.1" typestyle "^2.0.4" -"@jupyterlab/translation@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-3.4.5.tgz#7ceaee7f14031d9d0b3408d46020d268f826218b" - integrity sha512-cEHe1hjB+woO3CbqSbPVui0odqHTSbe41c9C+eTjZyVt50m89DxHJSusc8zgtOPD7ZbSeEf3IXYIiT3EphX9ig== +"@jupyterlab/translation@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/translation/-/translation-3.6.1.tgz#db1380c349f2e8645b58a9eac4986f3f1c6b320b" + integrity sha512-+I1zzQnYNVnU9rrr7ceHPexiyMFavfK0t6I3qdgAHQ1TTLsLVQMp5m/T7S2SaJjPK7/GtRml5DgmErRyy5becA== dependencies: - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/services" "^6.4.5" - "@jupyterlab/statedb" "^3.4.5" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/services" "^6.6.1" + "@jupyterlab/statedb" "^3.6.1" "@lumino/coreutils" "^1.11.0" -"@jupyterlab/ui-components@^3.4.5": - version "3.4.5" - resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-3.4.5.tgz#2b7e6f57d8a21ed05b9b45075b1cdd650d057ab7" - integrity sha512-7G9EIWtK0dyVQInEztjEpqDvT4kF2z/+6Lo+AnC9YD7ssIibxL+98zXzR0GCZoQJJaH8YeQBbXrjClftO91gPw== +"@jupyterlab/ui-components@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@jupyterlab/ui-components/-/ui-components-3.6.1.tgz#1e12b23614288a1c45fda50c2d141483b879bebf" + integrity sha512-p9wH9iidGuuKSm2yXFGhHs6gzpoBpsHRCiOJw9bmj2PBsDKEGjh65Rh0YBv0d7TD6VVgAwMmokaT01KqjUmY+g== dependencies: "@blueprintjs/core" "^3.36.0" "@blueprintjs/select" "^3.15.0" - "@jupyterlab/coreutils" "^5.4.5" - "@jupyterlab/translation" "^3.4.5" + "@jupyterlab/coreutils" "^5.6.1" + "@jupyterlab/translation" "^3.6.1" "@lumino/algorithm" "^1.9.0" "@lumino/commands" "^1.19.0" "@lumino/coreutils" "^1.11.0" "@lumino/disposable" "^1.10.0" "@lumino/signaling" "^1.10.0" "@lumino/virtualdom" "^1.14.0" - "@lumino/widgets" "^1.33.0" + "@lumino/widgets" "^1.37.1" "@rjsf/core" "^3.1.0" react "^17.0.1" react-dom "^17.0.1" @@ -537,14 +540,14 @@ resolved "https://registry.yarnpkg.com/@lumino/algorithm/-/algorithm-1.9.2.tgz#b95e6419aed58ff6b863a51bfb4add0f795141d3" integrity sha512-Z06lp/yuhz8CtIir3PNTGnuk7909eXt4ukJsCzChsGuot2l5Fbs96RJ/FOHgwCedaX74CtxPjXHXoszFbUA+4A== -"@lumino/application@^1.27.0": - version "1.29.3" - resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.29.3.tgz#9194c9f95555aee5a6b9ac66074bd68fe0adc896" - integrity sha512-F7nnA6nY0PXtdqQej9cr55j/o5bHr+0I5KqvvX1nhjCfYPvcAszdEsOmyTMNIf0JnSvUNED6bdCh9ewkyuRzLw== +"@lumino/application@^1.31.3": + version "1.31.3" + resolved "https://registry.yarnpkg.com/@lumino/application/-/application-1.31.3.tgz#c5a9bc84212a2505be8f5d43516e0603d9100965" + integrity sha512-XnsXm5PD9QevJRl/pHJziYmhRKqJYjEOTL6Vh9dtKpPPML57uswOj59Pokxx/yCvym1xRF9iDVvujy3KallRwQ== dependencies: - "@lumino/commands" "^1.20.1" + "@lumino/commands" "^1.21.1" "@lumino/coreutils" "^1.12.1" - "@lumino/widgets" "^1.34.0" + "@lumino/widgets" "^1.37.1" "@lumino/collections@^1.9.2": version "1.9.2" @@ -553,7 +556,14 @@ dependencies: "@lumino/algorithm" "^1.9.2" -"@lumino/commands@^1.19.0", "@lumino/commands@^1.20.1": +"@lumino/collections@^1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@lumino/collections/-/collections-1.9.3.tgz#370dc2d50aa91371288a4f7376bea5a3191fc5dc" + integrity sha512-2i2Wf1xnfTgEgdyKEpqM16bcYRIhUOGCDzaVCEZACVG9R1CgYwOe3zfn71slBQOVSjjRgwYrgLXu4MBpt6YK+g== + dependencies: + "@lumino/algorithm" "^1.9.2" + +"@lumino/commands@^1.19.0": version "1.20.1" resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.20.1.tgz#8a4e4840528e8009c5472dc6b5bb0970d7f27a5f" integrity sha512-7u0vc3qWVAyI3CHGmQ+MXP5bvmj5dtnU5J4u2aRrodtlysU3nLjGhD57bbTq2VUqpmS1bkfBqNFhO1e4PFKSaQ== @@ -566,7 +576,20 @@ "@lumino/signaling" "^1.10.2" "@lumino/virtualdom" "^1.14.2" -"@lumino/coreutils@^1.11.0", "@lumino/coreutils@^1.12.1": +"@lumino/commands@^1.21.1": + version "1.21.1" + resolved "https://registry.yarnpkg.com/@lumino/commands/-/commands-1.21.1.tgz#eda8b3cf5ef73b9c8ce93b3b5cf66bb053df2a76" + integrity sha512-d1zJmwz5bHU0BM/Rl3tRdZ7/WgXnFB0bM7x7Bf0XDlmX++jnU9k0j3mh6/5JqCGLmIApKCRwVqSaV7jPmSJlcQ== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.4" + "@lumino/domutils" "^1.8.2" + "@lumino/keyboard" "^1.8.2" + "@lumino/signaling" "^1.11.1" + "@lumino/virtualdom" "^1.14.3" + +"@lumino/coreutils@^1.11.0", "@lumino/coreutils@^1.11.0 || ^2.0.0-alpha.6", "@lumino/coreutils@^1.12.1": version "1.12.1" resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.12.1.tgz#79860c9937483ddf6cda87f6c2b9da8eb1a5d768" integrity sha512-JLu3nTHzJk9N8ohZ85u75YxemMrmDzJdNgZztfP7F7T7mxND3YVNCkJG35a6aJ7edu1sIgCjBxOvV+hv27iYvQ== @@ -579,12 +602,20 @@ "@lumino/algorithm" "^1.9.2" "@lumino/signaling" "^1.10.2" +"@lumino/disposable@^1.10.0 || ^2.0.0-alpha.6", "@lumino/disposable@^1.10.4": + version "1.10.4" + resolved "https://registry.yarnpkg.com/@lumino/disposable/-/disposable-1.10.4.tgz#73b452044fecf988d7fa73fac9451b1a7f987323" + integrity sha512-4ZxyYcyzUS+ZeB2KAH9oAH3w0DUUceiVr+FIZHZ2TAYGWZI/85WlqJtfm0xjwEpCwLLW1TDqJrISuZu3iMmVMA== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/signaling" "^1.11.1" + "@lumino/domutils@^1.8.0", "@lumino/domutils@^1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@lumino/domutils/-/domutils-1.8.2.tgz#d15cdbae12bea52852bbc13c4629360f9f05b7f5" integrity sha512-QIpMfkPJrs4GrWBuJf2Sn1fpyVPmvqUUAeD8xAQo8+4V5JAT0vUDLxZ9HijefMgNCi3+Bs8Z3lQwRCrz+cFP1A== -"@lumino/dragdrop@^1.13.0", "@lumino/dragdrop@^1.14.1": +"@lumino/dragdrop@^1.13.0": version "1.14.1" resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.14.1.tgz#17fbd7de30b0c199fec9c19d50dfb58b11eed6e2" integrity sha512-SeciSUHKBBkkMKqK0l20c7vwGQA7pu/jMFMBK75In2Oz0049qU0OyNk6ngpcKRSBC/VKsbTPBQGI673w7Bd/VQ== @@ -592,12 +623,20 @@ "@lumino/coreutils" "^1.12.1" "@lumino/disposable" "^1.10.2" +"@lumino/dragdrop@^1.14.4": + version "1.14.4" + resolved "https://registry.yarnpkg.com/@lumino/dragdrop/-/dragdrop-1.14.4.tgz#b6ec4cf4f470c17a849e31f299d5a24acdc8c7d3" + integrity sha512-IHX2M8Yqs2YsFHHXKSKiYLgv9DEuhyyKoDS85Chg34J9OaPC5ocT0AmNVnpeq9T4A50sg3vdL9mSRCZ0f302Gw== + dependencies: + "@lumino/coreutils" "^1.12.1" + "@lumino/disposable" "^1.10.4" + "@lumino/keyboard@^1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@lumino/keyboard/-/keyboard-1.8.2.tgz#714dbe671f0718f516d1ec23188b31a9ccd82fb2" integrity sha512-Dy+XqQ1wXbcnuYtjys5A0pAqf4SpAFl9NY6owyIhXAo0Va7w3LYp3jgiP1xAaBAwMuUppiUAfrbjrysZuZ625g== -"@lumino/messaging@^1.10.0", "@lumino/messaging@^1.10.2": +"@lumino/messaging@^1.10.0": version "1.10.2" resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.2.tgz#5faaf1bf9597437971bd9f71cafda242d2244c96" integrity sha512-mVC3E5sptkU8g8GLNGiu4f1iY15QjU6R8RP9rJD6X8i2UAnT7z8KT+9rB3m7l8UqH1Pw5DZo8IJznrp6J/Dvmw== @@ -605,6 +644,14 @@ "@lumino/algorithm" "^1.9.2" "@lumino/collections" "^1.9.2" +"@lumino/messaging@^1.10.3": + version "1.10.3" + resolved "https://registry.yarnpkg.com/@lumino/messaging/-/messaging-1.10.3.tgz#b6227bdfc178a8542571625ecb68063691b6af3c" + integrity sha512-F/KOwMCdqvdEG8CYAJcBSadzp6aI7a47Fr60zAKGqZATSRRRV41q53iXU7HjFPqQqQIvdn9Z7J32rBEAyQAzww== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/collections" "^1.9.3" + "@lumino/polling@^1.9.0": version "1.11.1" resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.11.1.tgz#23c7674f66b194442272e86cd7718ea5c0f89230" @@ -626,6 +673,14 @@ dependencies: "@lumino/algorithm" "^1.9.2" +"@lumino/signaling@^1.10.0 || ^2.0.0-alpha.6", "@lumino/signaling@^1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@lumino/signaling/-/signaling-1.11.1.tgz#438f447a1b644fd286549804f9851b5aec9679a2" + integrity sha512-YCUmgw08VoyMN5KxzqPO3KMx+cwdPv28tAN06C0K7Q/dQf+oufb1XocuhZb5selTrTmmuXeizaYxgLIQGdS1fA== + dependencies: + "@lumino/algorithm" "^1.9.2" + "@lumino/properties" "^1.8.2" + "@lumino/virtualdom@^1.14.0", "@lumino/virtualdom@^1.14.2": version "1.14.2" resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.14.2.tgz#bee4fd3cf78c1aa003d9c208f6825969b4321573" @@ -633,22 +688,29 @@ dependencies: "@lumino/algorithm" "^1.9.2" -"@lumino/widgets@^1.33.0", "@lumino/widgets@^1.34.0": - version "1.34.0" - resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.34.0.tgz#0cc9ae568b7c129247e240d9b277ead324d4352f" - integrity sha512-HvvZ/UL1mcbvZ2IZrIA5p+YVSjTzQYrkXwPkFDPs6TgSgj5VmBm8Y13B7gS+/p9634OR5WNiWVO3KNALVHRXcw== +"@lumino/virtualdom@^1.14.3": + version "1.14.3" + resolved "https://registry.yarnpkg.com/@lumino/virtualdom/-/virtualdom-1.14.3.tgz#e490c36ff506d877cf45771d6968e3e26a8919fd" + integrity sha512-5joUC1yuxeXbpfbSBm/OR8Mu9HoTo6PDX0RKqzlJ9o97iml7zayFN/ynzcxScKGQAo9iaXOY8uVIvGUT8FnsGw== + dependencies: + "@lumino/algorithm" "^1.9.2" + +"@lumino/widgets@^1.37.1": + version "1.37.1" + resolved "https://registry.yarnpkg.com/@lumino/widgets/-/widgets-1.37.1.tgz#d7a2398b276e15e60aff4fec58c035d46549a75b" + integrity sha512-/whz5B/hL0fjv0bR8JYZ+Emx+CH7HBwXc4TqI9PrrHGm3g6+jRJAyIFGZcQubqkPxxHrRE/VxQgoDKGhINw/Gw== dependencies: "@lumino/algorithm" "^1.9.2" - "@lumino/commands" "^1.20.1" + "@lumino/commands" "^1.21.1" "@lumino/coreutils" "^1.12.1" - "@lumino/disposable" "^1.10.2" + "@lumino/disposable" "^1.10.4" "@lumino/domutils" "^1.8.2" - "@lumino/dragdrop" "^1.14.1" + "@lumino/dragdrop" "^1.14.4" "@lumino/keyboard" "^1.8.2" - "@lumino/messaging" "^1.10.2" + "@lumino/messaging" "^1.10.3" "@lumino/properties" "^1.8.2" - "@lumino/signaling" "^1.10.2" - "@lumino/virtualdom" "^1.14.2" + "@lumino/signaling" "^1.11.1" + "@lumino/virtualdom" "^1.14.3" "@playwright/test@^1.16.2": version "1.25.0" @@ -2282,10 +2344,10 @@ safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sanitize-html@~2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.5.3.tgz#91aa3dc760b072cdf92f9c6973747569b1ba1cd8" - integrity sha512-DGATXd1fs/Rm287/i5FBKVYSBBUL0iAaztOA1/RFhEs4yqo39/X52i/q/CwsfCUG5cilmXSBmnQmyWfnKhBlOg== +sanitize-html@~2.7.3: + version "2.7.3" + resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.7.3.tgz#166c868444ee4f9fd7352ac8c63fa86c343fc2bd" + integrity sha512-jMaHG29ak4miiJ8wgqA1849iInqORgNv7SLfSw9LtfOhEUQ1C0YHKH73R+hgyufBW9ZFeJrb057k9hjlfBCVlw== dependencies: deepmerge "^4.2.2" escape-string-regexp "^4.0.0" @@ -2925,3 +2987,10 @@ yjs@^13.5.17: integrity sha512-4eSTrrs8OeI0heXKKioRY4ag7V5Bk85Z4MeniUyown3o3y0G7G4JpAZWrZWfTp7pzw2b53GkAQWKqHsHi9j9JA== dependencies: lib0 "^0.2.49" + +yjs@^13.5.40: + version "13.5.45" + resolved "https://registry.yarnpkg.com/yjs/-/yjs-13.5.45.tgz#fd30e41371abbc83c07e5c042296f52e041d22fe" + integrity sha512-9VUNDvb9oJHdYSMdzIpdM/agVm+EEFKRN+843CFqQuq5bo/BP3EAaxofRG9jQut3sqtGQT4A9YdQvOeeAjU6aA== + dependencies: + lib0 "^0.2.49" From 08db5efc2cbc4fb40d5d8240a9d16c9f4458fb7e Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 15:21:55 +0100 Subject: [PATCH 10/19] Fix Python version setting --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4e77559d..0cca845c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,6 @@ jobs: with: environment-name: ipympl-dev environment-file: dev-environment.yml - python-version: ${{ matrix.python-version }} auto-activate-base: false channels: conda-forge @@ -68,7 +67,7 @@ jobs: with: environment-name: ipympl-dev environment-file: dev-environment.yml - python-version: ${{ matrix.python-version }} + python-version: ${{ matrix.python }} auto-activate-base: false channels: conda-forge From 6bff554d7c3e08269603547108feb8ce28afc80e Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 15:29:41 +0100 Subject: [PATCH 11/19] Fix action arguments --- .github/workflows/docs.yml | 2 -- .github/workflows/main.yml | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 57cb64bb..6f832f39 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -16,8 +16,6 @@ jobs: with: environment-name: ipympl-dev environment-file: dev-environment.yml - python-version: ${{ matrix.python-version }} - auto-activate-base: false channels: conda-forge - name: Install run: python -m pip install -v .[docs] diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0cca845c..2417e288 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,6 @@ jobs: with: environment-name: ipympl-dev environment-file: dev-environment.yml - auto-activate-base: false channels: conda-forge - name: Build packages @@ -67,9 +66,9 @@ jobs: with: environment-name: ipympl-dev environment-file: dev-environment.yml - python-version: ${{ matrix.python }} - auto-activate-base: false channels: conda-forge + extra-specs: | + python=${{ matrix.python }} - if: matrix.mpl-version == 'latest' name: Install latest Matplotlib From 79181603e740a7512c8aeedf123fc05cf3469713 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Tue, 7 Feb 2023 17:05:07 +0100 Subject: [PATCH 12/19] Increase filematch threshold --- ui-tests/tests/ipympl.test.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui-tests/tests/ipympl.test.ts b/ui-tests/tests/ipympl.test.ts index ca78a776..3df71dde 100644 --- a/ui-tests/tests/ipympl.test.ts +++ b/ui-tests/tests/ipympl.test.ts @@ -52,7 +52,8 @@ const testCellOutputs = async ( for (let c = 0; c < numCellImages; ++c) { expect(results[c]).toMatchSnapshot( - getCaptureImageName(notebook, c) + getCaptureImageName(notebook, c), + { threshold: 0.3 } ); } @@ -94,7 +95,8 @@ const testUpdates = async (page: IJupyterLabPageFixture, tmpPath: string) => { for (let i = 0; i < cellCount; i++) { expect(results[i]).toMatchSnapshot( - getCaptureImageName(notebook, i) + getCaptureImageName(notebook, i), + { threshold: 0.3 } ); } From bd42ad60ca2e61d999f47626a2ec2f178cc9d473 Mon Sep 17 00:00:00 2001 From: martinRenou Date: Wed, 8 Feb 2023 11:04:53 +0100 Subject: [PATCH 13/19] Increase threshold a bit more --- ui-tests/tests/ipympl.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui-tests/tests/ipympl.test.ts b/ui-tests/tests/ipympl.test.ts index 3df71dde..8e26187d 100644 --- a/ui-tests/tests/ipympl.test.ts +++ b/ui-tests/tests/ipympl.test.ts @@ -53,7 +53,7 @@ const testCellOutputs = async ( for (let c = 0; c < numCellImages; ++c) { expect(results[c]).toMatchSnapshot( getCaptureImageName(notebook, c), - { threshold: 0.3 } + { threshold: 0.4 } ); } @@ -96,7 +96,7 @@ const testUpdates = async (page: IJupyterLabPageFixture, tmpPath: string) => { for (let i = 0; i < cellCount; i++) { expect(results[i]).toMatchSnapshot( getCaptureImageName(notebook, i), - { threshold: 0.3 } + { threshold: 0.4 } ); } From 0d12cad260fcce6f12abb0b877ff48ebca630513 Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Wed, 15 Feb 2023 10:12:03 -0500 Subject: [PATCH 14/19] fix: add event modifiers for mpl 3.7 --- src/mpl_widget.ts | 1 + src/utils.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/mpl_widget.ts b/src/mpl_widget.ts index 7e839f92..7aa7d76c 100644 --- a/src/mpl_widget.ts +++ b/src/mpl_widget.ts @@ -757,6 +757,7 @@ export class MPLCanvasView extends DOMWidgetView { y: y, button: event.button, step: event.step, + modifiers: utils.getModifiers(event), guiEvent: utils.get_simple_keys(event), }); }; diff --git a/src/utils.ts b/src/utils.ts index 63444298..7705f5e6 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -33,3 +33,20 @@ export function getContext(canvas: HTMLCanvasElement) { } return context; } + +export function getModifiers(event: MouseEvent) { + const mods = []; + if (event.ctrlKey) { + mods.push('ctrl'); + } + if (event.altKey) { + mods.push('alt'); + } + if (event.shiftKey) { + mods.push('shift'); + } + if (event.metaKey) { + mods.push('meta'); + } + return mods; +} From 3662170edcd771e7327c969459c0ef1cd67252bf Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Sat, 16 Jul 2022 14:53:11 -0500 Subject: [PATCH 15/19] Ensure throttling does not break `capture_scroll` --- src/mpl_widget.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mpl_widget.ts b/src/mpl_widget.ts index 7e839f92..58abe556 100644 --- a/src/mpl_widget.ts +++ b/src/mpl_widget.ts @@ -544,6 +544,11 @@ export class MPLCanvasView extends DOMWidgetView { this.model.get('pan_zoom_throttle') ) ); + top_canvas.addEventListener('wheel', (event: any) => { + if (this.model.get('capture_scroll')) { + event.preventDefault(); + } + }); canvas_div.appendChild(canvas); canvas_div.appendChild(top_canvas); @@ -708,9 +713,6 @@ export class MPLCanvasView extends DOMWidgetView { } else { event.step = -1; } - if (this.model.get('capture_scroll')) { - event.preventDefault(); - } } if (name === 'button_press') { From 995fed1935268836b66c6d4803f5c910cbf6e858 Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Wed, 8 Feb 2023 09:18:02 -0500 Subject: [PATCH 16/19] update ioff usage in docs --- docs/examples/full-example.ipynb | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/docs/examples/full-example.ipynb b/docs/examples/full-example.ipynb index d036785c..bc36b8f5 100644 --- a/docs/examples/full-example.ipynb +++ b/docs/examples/full-example.ipynb @@ -272,7 +272,7 @@ "\n", "If we make sure interactive mode is off when we create the figure then the figure will only display where we want it to.\n", "\n", - "There is ongoing work to allow usage of `ioff` as a context manager, see the [ipympl issue](https://github.com/matplotlib/ipympl/issues/220) and the [matplotlib issue](https://github.com/matplotlib/matplotlib/issues/17013)" + "To do this you can use `plt.ioff()` as a context manager." ] }, { @@ -281,9 +281,8 @@ "metadata": {}, "outputs": [], "source": [ - "plt.ioff()\n", - "fig = plt.figure()\n", - "plt.ion()\n", + "with plt.ioff():\n", + " fig = plt.figure()\n", "\n", "ax = fig.gca()\n", "ax.imshow(Z)\n", @@ -385,9 +384,8 @@ "metadata": {}, "outputs": [], "source": [ - "plt.ioff()\n", - "fig = plt.figure()\n", - "plt.ion()\n", + "with plt.ioff():\n", + " fig = plt.figure()\n", "im = plt.imshow(example_image_stack[0])\n", "\n", "def update(change):\n", @@ -425,9 +423,8 @@ "metadata": {}, "outputs": [], "source": [ - "plt.ioff()\n", - "fig = plt.figure()\n", - "plt.ion()\n", + "with plt.ioff():\n", + " fig = plt.figure()\n", "im = plt.imshow(example_image_stack[0])\n", "\n", "out = widgets.Output()\n", @@ -448,7 +445,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -462,7 +459,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.6" + "version": "3.10.8" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From 2e2c5d42025e53d9abb33be64b146e56f0110564 Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Wed, 15 Feb 2023 10:23:01 -0500 Subject: [PATCH 17/19] fix spelling --- docs/examples/full-example.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/examples/full-example.ipynb b/docs/examples/full-example.ipynb index bc36b8f5..10207712 100644 --- a/docs/examples/full-example.ipynb +++ b/docs/examples/full-example.ipynb @@ -300,7 +300,7 @@ "source": [ "# Interacting with other widgets\n", "\n", - "## Changing a line plot with a slide" + "## Changing a line plot with a slider" ] }, { @@ -459,7 +459,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.8" + "version": "3.11.0" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From 3985793b74287cf87e771afcd22d845c13166138 Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Wed, 15 Feb 2023 13:12:51 -0500 Subject: [PATCH 18/19] release 0.9.3 --- README.md | 5 +++-- docs/installing.md | 5 +++-- ipympl/_version.py | 2 +- package.json | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 718f6731..1a4e65c5 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,9 @@ Versions lookup table: | `ipympl` | `jupyter-matplotlib` | `JupyterLab` | `Matplotlib` | |----------|----------------------|--------------|--------------| -| 0.9.0 | 0.11.x | 3 or 2 | 3.4.0>= | -| 0.8.8 | 0.10.x | 3 or 2 | 3.3.1>= | +| 0.9.3 | 0.11.3+ | 3 or 2 | 3.4.0>= | +| 0.9.0-2 | 0.11.0-2 | 3 or 2 | 3.4.0>= <3.7| +| 0.8.8 | 0.10.x | 3 or 2 | 3.3.1>= <3.7| | 0.8.0-7 | 0.10.x | 3 or 2 | 3.3.1>=, <3.6| | 0.7.0 | 0.9.0 | 3 or 2 | 3.3.1>= | | 0.6.x | 0.8.x | 3 or 2 | 3.3.1>=, <3.4| diff --git a/docs/installing.md b/docs/installing.md index 2332520f..3567eb98 100644 --- a/docs/installing.md +++ b/docs/installing.md @@ -49,8 +49,9 @@ Not all versions of `ipympl` are compatible with different version of Jupyterlab | `ipympl` | `jupyter-matplotlib` | `JupyterLab` | `Matplotlib` | |----------|----------------------|--------------|--------------| -| 0.9.0 | 0.11.x | 3 or 2 | 3.4.0>= | -| 0.8.8 | 0.10.x | 3 or 2 | 3.3.1>= | +| 0.9.3 | 0.11.3+ | 3 or 2 | 3.4.0>= | +| 0.9.0-2 | 0.11.0-2 | 3 or 2 | 3.4.0>= <3.7| +| 0.8.8 | 0.10.x | 3 or 2 | 3.3.1>= <3.7| | 0.8.0-7 | 0.10.x | 3 or 2 | 3.3.1>=, <3.6| | 0.7.0 | 0.9.0 | 3 or 2 | 3.3.1>= | | 0.6.x | 0.8.x | 3 or 2 | 3.3.1>=, <3.4| diff --git a/ipympl/_version.py b/ipympl/_version.py index 72d90866..f0dda481 100644 --- a/ipympl/_version.py +++ b/ipympl/_version.py @@ -1,3 +1,3 @@ -version_info = (0, 9, 2) +version_info = (0, 9, 3) __version__ = '.'.join(map(str, version_info)) js_semver = '^0.11' diff --git a/package.json b/package.json index 0bc0b0d2..2c15e4dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jupyter-matplotlib", - "version": "0.11.2", + "version": "0.11.3", "description": "Matplotlib Jupyter Interactive Widget", "author": "Matplotlib Development team", "license": "BSD-3-Clause", From a39a31cc7c0799f6d8c83f82a12a9a09a6670e0d Mon Sep 17 00:00:00 2001 From: Ian Hunt-Isaak Date: Wed, 15 Feb 2023 14:20:41 -0500 Subject: [PATCH 19/19] attempt to fix micromamba in release workflow --- .github/workflows/release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bd60de0f..e192e968 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,11 +14,19 @@ jobs: uses: mamba-org/provision-with-micromamba@main with: channels: conda-forge + environment-file: false + environment-name: ipympl-release + extra-specs: | + python=3.9 + jupyterlab + yarn + matplotlib + ipywidgets + jupyter-packaging=0.7 - name: Install dependencies run: | - mamba install -c conda-forge python=3.9 jupyterlab yarn matplotlib ipywidgets jupyter-packaging=0.7 - pip install twine wheel build + python -m pip install twine wheel build - name: Publish the Python package env: