From 3bb88a698be09b26cf40e1c3437ceaef1d5a34ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 02:04:17 +0000 Subject: [PATCH 1/8] ci(dependabot): bump the actions group with 2 updates Bumps the actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/checkout` from 6 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6...v7) Updates `softprops/action-gh-release` from 2 to 3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: softprops/action-gh-release dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] --- .github/workflows/ci.yml | 16 ++++++++-------- .github/workflows/deploy_docs.yml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d299175..a880d84f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,13 +15,13 @@ jobs: check-manifest: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - run: pipx run check-manifest pyright: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -71,7 +71,7 @@ jobs: canvas: pygfx steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -105,7 +105,7 @@ jobs: gui: [pyqt, jupyter] canvas: [vispy, pygfx] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -130,7 +130,7 @@ jobs: python-version: ["3.10", "3.13"] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v7 with: enable-cache: true @@ -161,7 +161,7 @@ jobs: env: UV_PYTHON: "3.13" steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - uses: astral-sh/setup-uv@v7 - name: 📚 Build docs run: uv run --group docs mkdocs build --strict @@ -181,7 +181,7 @@ jobs: contents: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: fetch-depth: 0 @@ -198,7 +198,7 @@ jobs: - name: 🚢 Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1 - - uses: softprops/action-gh-release@v2 + - uses: softprops/action-gh-release@v3 with: generate_release_notes: true files: "./dist/*" diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 09d0f109..40fccb91 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -14,7 +14,7 @@ jobs: runs-on: macos-latest # nicer screenshots if: github.repository == 'pyapp-kit/ndv' steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: fetch-depth: 0 - uses: astral-sh/setup-uv@v7 From ffaac891c776c5d66019b7b36972a611bb02fed2 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 2 Jul 2026 13:40:32 -0500 Subject: [PATCH 2/8] Add warning filter Same thing added to scenex --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index a6c85b54..3c01dbe9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -219,6 +219,8 @@ filterwarnings = [ # unsolved python 3.10 warning on shutdown, either xarray or dask "ignore:unclosed transport:ResourceWarning", "ignore:Jupyter is migrating its paths", + # See https://github.com/pygfx/pygfx/pull/1306 and https://github.com/vispy/vispy/pull/2757 + "ignore:Setting the shape on a NumPy array has been deprecated in NumPy 2.5:DeprecationWarning:pygfx.*|vispy.*", ] markers = ["allow_leaks: mark test to allow widget leaks"] From dd77cb8c6212f9f61cd01779f45164da6ffe9b38 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 2 Jul 2026 16:29:13 -0500 Subject: [PATCH 3/8] Pin numpy version in array-libs dep group --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 3c01dbe9..e5cd1180 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,6 +78,8 @@ array-libs = [ "aiohttp>=3.11.11", "dask[array]>=2024.8.0", "jax[cpu]>=0.4.30", + # TODO: numba<=0.65 capped numpy<2.5 for some reason. When numba>0.65 ships, remove this pin + "numpy<2.5", "pooch>=1.8.2", "pyopencl>=2025.1", "pyopencl[pocl]>=2025.1 ; sys_platform == 'linux'", From 388548edf0421fe4a5e5a8bc8698002a595e3a77 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Thu, 2 Jul 2026 17:33:33 -0500 Subject: [PATCH 4/8] Linting errors --- src/ndv/data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ndv/data.py b/src/ndv/data.py index d3d03ef6..751478a8 100644 --- a/src/ndv/data.py +++ b/src/ndv/data.py @@ -28,7 +28,7 @@ def nd_sine_wave( half_per = base_frequency * np.pi x = np.linspace(-half_per, half_per, nx) y = np.linspace(-half_per, half_per, ny) - y, x = np.meshgrid(y, x) + yy, xx = np.meshgrid(y, x) # Iterate through each parameter in the higher dimensions for phase_idx in range(phase_dim): @@ -41,7 +41,7 @@ def nd_sine_wave( # Calculate angle angle = np.pi / angle_dim * angle_idx # Rotate x and y coordinates - xr = np.cos(angle) * x - np.sin(angle) * y + xr = np.cos(angle) * xx - np.sin(angle) * yy # Compute the sine wave sine_wave = (amplitude * 0.5) * np.sin(frequency * xr + phase) From 010226bb467620e9c727664c83c58de1098e4a35 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 3 Jul 2026 08:53:21 -0500 Subject: [PATCH 5/8] Try pinning max bound of numpy for docs --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index e5cd1180..2d7a872e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -123,6 +123,7 @@ docs = [ "mkdocs-spellcheck[codespell] ==1.1.0", "mkdocstrings-python >=1.13.0", "mike >=2.1.3", + "numpy < 2.5", "ruff>=0.9.4", # EXAMPLES "ndv[vispy,qt]", From 982e5798018a31cd0f84f4043e4196488f2972f7 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 3 Jul 2026 09:06:40 -0500 Subject: [PATCH 6/8] Try pinning to older runner --- .github/workflows/deploy_docs.yml | 2 +- pyproject.toml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml index 40fccb91..d60f4e5f 100644 --- a/.github/workflows/deploy_docs.yml +++ b/.github/workflows/deploy_docs.yml @@ -11,7 +11,7 @@ permissions: jobs: deploy: - runs-on: macos-latest # nicer screenshots + runs-on: macos-15 # nicer screenshots if: github.repository == 'pyapp-kit/ndv' steps: - uses: actions/checkout@v7 diff --git a/pyproject.toml b/pyproject.toml index 2d7a872e..e5cd1180 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -123,7 +123,6 @@ docs = [ "mkdocs-spellcheck[codespell] ==1.1.0", "mkdocstrings-python >=1.13.0", "mike >=2.1.3", - "numpy < 2.5", "ruff>=0.9.4", # EXAMPLES "ndv[vispy,qt]", From 9c98de1c9de334ae0f7d2bbf715d30a064edb5a0 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 3 Jul 2026 09:31:12 -0500 Subject: [PATCH 7/8] Oop, missed a docs runner --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a880d84f..b370b49f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -157,7 +157,7 @@ jobs: # make sure we can build docs without error test-docs: - runs-on: macos-latest # nicer screenshots + runs-on: macos-15 # nicer screenshots env: UV_PYTHON: "3.13" steps: From b8b86a2387fddb280830cb096cc2532b16f4c786 Mon Sep 17 00:00:00 2001 From: Gabriel Selzer Date: Fri, 3 Jul 2026 09:47:42 -0500 Subject: [PATCH 8/8] Avoid macos-latest+vispy+qtpy Prone to segfaults - let's skip for now --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b370b49f..d94a28da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,8 +46,33 @@ jobs: - os: macos-latest gui: wxpython python-version: "3.10" + # FIXME: Prone to segfaults + - os: macos-latest + gui: pyside + canvas: vispy + # FIXME: Prone to segfaults + - os: macos-latest + gui: pyqt + canvas: vispy include: + # Check macos+vispy + - os: macos-15 + python-version: "3.13" + gui: pyside + canvas: vispy + - os: macos-15 + python-version: "3.13" + gui: pyqt + canvas: vispy + - os: macos-15 + python-version: "3.10" + gui: pyside + canvas: vispy + - os: macos-15 + python-version: "3.10" + gui: pyqt + canvas: vispy # spot-check a few more python versions - os: ubuntu-latest python-version: "3.12"