Repository navigation
Drop pynwb < 3.1 compatibility code from pynwb_utils - #1939
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1939 +/- ##
=======================================
Coverage 78.40% 78.41%
=======================================
Files 92 92
Lines 14142 14130 -12
=======================================
- Hits 11088 11080 -8
+ Misses 3054 3050 -4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Note: code is technically covered by the |
|
great , thanks! |
|
I would have merged it but it seems part of the stack.... yet to learn the process ;-) |
023745f to
dab93f5
Compare
Yeah stacks can go either way - if a long series of changes that are intended to go in all at once as 'some big feature' then start from top then go down For this I strongly recommend just starting from the bottom and working the way up, many of those are nearly-standalone improvements but still cleaner for the top to not deal with them all split apart |
dab93f5 to
16cdedd
Compare
|
@yarikoptic This one is next, once CI is happy |
The declared floor is pynwb >= 3.1.0 (and nwbinspector >= 0.7.0 requires pynwb >= 3.1 anyway), which makes several version guards unreachable: - validate(): only the `pynwb.validate(path=...)` branch (pynwb >= 3.0) can run; the `paths=[...]` tuple-returning form (2.2 to 2.x) and the `io=` fallback for even older releases are gone. - copy_nwb_file(): `cache_spec` has been accepted by `export()` since pynwb 2.8.2, so pass it unconditionally. - _get_external_images(): `ExternalImage` exists in every supported pynwb, so import it at module level instead of guarding an ImportError. The now-unused `packaging.version.Version` import is removed as well. The NWB *schema* version checks (e.g. the < 2.1.0 error filter) are about the file being validated, not about pynwb, and are unchanged. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HFhMPs6vF5zyeHDvPTvRcA
16cdedd to
91aaca7
Compare
…hamilton-ast647 The base was rebased onto master (with #1937 and #1939 squash-merged) and now uses fscacher >= 0.5.0's memoize_path(custom_fingerprint=...). Resolve accordingly: - Drop memoize_source and its tests: get_metadata, get_neurodata_types, nwb_has_external_links and _validate now use memoize_path(custom_fingerprint=readable_fingerprint). - Drop ExistingPath in favor of LinkAwarePath(lexists=True) from #1937. - Keep the streaming support (_validate reading from a Readable) and its test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Qn5WBSiQgoZoL4fytF6nEr
Yet another split out of #1933 to clean up some dead code
The declared floor in the pyproject.toml is
pynwb >= 3.1.0(andnwbinspector >= 0.7.0requirespynwb >= 3.1anyway), which makes several version guards unreachable:pynwb.validate(path=...)branch (pynwb >= 3.0) can run; thepaths=[...]tuple-returning form (2.2 to 2.x) and theio=fallback for even older releases are gone.cache_spechas been accepted byexport()since pynwb 2.8.2, so pass it unconditionally.ExternalImageexists in every supported pynwb, so import it at module level instead of guarding an ImportError.The now-unused
packaging.version.Versionimport is removed as well. The NWB schema version checks (e.g. the < 2.1.0 error filter) are about the file being validated, not about pynwb, and are unchanged.Claude-Session: https://claude.ai/code/session_01HFhMPs6vF5zyeHDvPTvRcA