3.0.0rc1
Pre-release
Pre-release
Breaking changes
- The validation methods have been updated with multiple breaking changes. @stephprince #1911
- The behavior of
pynwb.validate(io=...)now matches the behavior ofpynwb.validate(path=...). In previous pynwb versions,pynwb.validate(io=...)did not use the cached namespaces during validation. To obtain the same behavior as in previous versions, you can update the function call topynwb.validate(io=..., use_cached_namespaces=False) pynwb.validatewill return only a list of validation errors instead of a tuple: (list of validation_errors, status code)- the
pynwb.validate(path=...)argument has been added as a replacement forpynwb.validate(paths=[...]), which will be deprecated in a future major release #2024 - The validate module has been renamed to
validation.py. The validate method can be
imported usingimport pynwb; pynwb.validateorfrom pynwb import validate
- The behavior of
Deprecations
- The following deprecated classes will now raise errors when creating new instances of these classes:
ClusteringWaveforms,Clustering,SweepTable. Reading files using these data types will continue to be supported. - The following methods and arguments have been deprecated:
ProcessingModule.add_containerandProcessingModule.add_data_interfaceare replaced byProcessingModule.addProcessingModule.get_containerandProcessingModule.get_data_interfaceare replaced byProcessingModule.getScratchData.notesis deprecated. UseScratchData.descriptioninstead.NWBFile.ic_electrodesis deprecated. UseNWBFile.icephys_electrodesinstead.NWBFile.ec_electrodesis deprecated. UseNWBFile.electrodesinstead.NWBFile.icephys_filteringis deprecated. UseIntracellularElectrode.filteringinstead.NWBFile.modulesis deprecated. UseNWBFile.processinginstead.ImageSeries.formatis fixed to 'external' if an external file is provided.ImageSeries.bits_per_pixelis deprecated.ImagingPlane.manifold,ImagingPlane.conversionandImagingPlane.unitare deprecated. UseImagingPlane.origin_coordsandImagingPlane.grid_spacinginstead.IndexSeries.unitis fixed to "N\A".IndexSeries.indexed_timeseriesis deprecated. UseIndexSeries.indexed_imagesinstead.
- The following deprecated methods have been removed:
NWBFile.add_ic_electrodeis removed. UseNWBFile.add_icephys_electrodeinstead.NWBFile.create_ic_electrodeis removed. UseNWBFile.create_icephys_electrodeinstead.NWBFile.get_ic_electrodeis removed. UseNWBFile.get_icephys_electrodeinstead.pynwb._get_resourcesis removed.
Enhancements and minor changes
- Added
pynwb.read_nwbconvenience method to simplify reading an NWBFile written with any backend @h-mayorquin #1994 - Added support for NWB schema 2.8.0. @rly #2001
- Removed
SpatialSeries.boundsfield that was not functional. This will be fixed in a future release. @rly #1907, #1996 - Added support for
NWBFile.was_generated_byfield. @stephprince #1924 - Added support for
model_number,model_name, andserial_numberfields toDevice. @stephprince #1997 - Deprecated
EventWaveformneurodata type. @rly #1940 - Deprecated
ImageMaskSeriesneurodata type. @rly #1941
- Removed
- Added enhancements to the validation CLI. @stephprince #1911
- Added an entry point for the validation module. You can now use
pynwb-validate "file.nwb". - Added the
--json-outpath-pathCLI argument to output validation results in a machine readable format.
- Added an entry point for the validation module. You can now use
- Removed python 3.8 support, added python 3.13 support. @stephprince #2007
- Added warnings when using positional arguments in
Containerconstructor methods. Positional arguments will raise errors in the next major release. @stephprince #1972 mock_ElectricalSeries. Make number of electrodes between data and electrode region agree when explicitly passing data @h-mayorquin #2019
Documentation and tutorial enhancements
- Updated
SpikeEventSeries,DecompositionSeries, andFilteredEphysexamples. @stephprince #2012 - Replaced deprecated
scipy.misc.facedataset in the images tutorial with another example. @stephprince #2016