From 2f7ddcc6ae2014e5171765ef23fe9242129c0d7a Mon Sep 17 00:00:00 2001 From: rly <310197+rly@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:29:24 -0700 Subject: [PATCH 1/3] Set num_samples in external-file ImageSeries test for PyNWB 4.0 PyNWB 4.0.0 raises a ValueError when an ImageSeries with format='external' uses rate for timing and has empty data, unless num_samples is set, because the frame count can no longer be inferred from the data length. Pass num_samples=1 so test_check_image_series_external_file_valid_bytestring_pass constructs successfully. Co-Authored-By: Claude Opus 4.8 (1M context) --- tests/unit_tests/test_image_series.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit_tests/test_image_series.py b/tests/unit_tests/test_image_series.py index ef967cb9..92673dce 100644 --- a/tests/unit_tests/test_image_series.py +++ b/tests/unit_tests/test_image_series.py @@ -58,6 +58,7 @@ def test_check_image_series_external_file_valid_bytestring_pass(self): rate=1.0, external_file=[bytes("/".join([".", good_external_path.name]), "utf-8")], format="external", + num_samples=1, ) assert check_image_series_external_file_relative(image_series=image_series) is None From 5405ab319e7be17a1a671a9e0b25d107e40037ea Mon Sep 17 00:00:00 2001 From: rly <310197+rly@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:32:48 -0700 Subject: [PATCH 2/3] Require pynwb>=4.0 NWB Inspector tracks the latest PyNWB only (#510). The latest release is 4.0.0, so raise the minimum to match. Co-Authored-By: Claude Opus 4.8 (1M context) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3985d443..63350a01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ classifiers = [ ] requires-python = ">=3.10" dependencies = [ - "pynwb>=3.1", # NWB Inspector should always be used with most recent minor versions of PyNWB + "pynwb>=4.0", # NWB Inspector should always be used with most recent minor versions of PyNWB "fsspec", "requests", "aiohttp", From 3a963a1373d3549884fb0a7af75735bce1ed26ed Mon Sep 17 00:00:00 2001 From: rly <310197+rly@users.noreply.github.com> Date: Tue, 30 Jun 2026 12:35:41 -0700 Subject: [PATCH 3/3] Add changelog entries for PyNWB 4.0 fixes Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26d55cba..e756a2c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,11 @@ ### New Checks ### Improvements +* Raised the minimum required PyNWB to `>=4.0` to track the latest PyNWB release. [#708](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/708) * Bumped GitHub Actions workflow dependencies (`actions/checkout` v4 -> v6, `actions/setup-python` v5 -> v6, `codecov/codecov-action` v4 -> v5) to migrate off Node.js 20, which GitHub is removing from runners on 2026-09-16. [#702](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/702) ### Fixes -* Fixed unit tests that failed at construction time against recent PyNWB and HDMF. [#707](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/707) +* Fixed unit tests that failed at construction time against recent PyNWB and HDMF. [#707](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/707) [#708](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/708) * Fixed `run_checks` raising `TypeError` when a `progress_bar_class` was passed without `progress_bar_options`; the keyword arguments are now coalesced to an empty dict before being forwarded to the progress-bar constructor. [#701](https://github.com/NeurodataWithoutBorders/nwbinspector/pull/701) # v0.7.2 (May 19, 2026)