From f44ef80c2f61742dc07a08412296de58450165f8 Mon Sep 17 00:00:00 2001 From: Laurent Guerard Date: Thu, 25 Jun 2026 16:30:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(deps):=20=F0=9F=90=9B=20require=20napari>?= =?UTF-8?q?=3D0.5.5=20for=20NumPy=202=20compatibility?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Old napari 0.4.x calls np.array(..., copy=False), which raises under NumPy 2 and breaks napari.Viewer() with a ValidationError. Pin the napari extra to >=0.5.5 (NumPy 2 + pydantic 2 compatible). Co-Authored-By: Claude Opus 4.8 --- pyproject.toml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 36e6da6..75e8111 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,9 +57,11 @@ bioio = [ # imaris reads .ims files natively (HDF5, no JVM) for OME-ZARR conversion. imaris = ["imaris-ims-file-reader"] # napari enables the interactive viewer plugin. -# lxml-html-clean: napari's notebook_display imports lxml.html.clean, which -# split into a separate package in lxml >= 5.2 (else ImportError on Viewer()). -napari = ["napari[all]", "lxml-html-clean"] +# - napari >= 0.5: NumPy 2.0 compatible (older 0.4.x uses np.array(copy=False), +# which raises under NumPy 2 -> ValidationError on Viewer()). +# - lxml-html-clean: napari's notebook_display imports lxml.html.clean, split +# into a separate package in lxml >= 5.2 (else ImportError on Viewer()). +napari = ["napari[all]>=0.5.5", "lxml-html-clean"] # workflow runs the Snakemake pipeline (per-tile SLURM jobs across GPUs). workflow = ["snakemake>=8", "snakemake-executor-plugin-slurm"] dev = ["pytest", "pytest-cov", "scikit-image", "psutil", "tqdm"]