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.validate
will 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.validate
orfrom 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_container
andProcessingModule.add_data_interface
are replaced byProcessingModule.add
ProcessingModule.get_container
andProcessingModule.get_data_interface
are replaced byProcessingModule.get
ScratchData.notes
is deprecated. UseScratchData.description
instead.NWBFile.ic_electrodes
is deprecated. UseNWBFile.icephys_electrodes
instead.NWBFile.ec_electrodes
is deprecated. UseNWBFile.electrodes
instead.NWBFile.icephys_filtering
is deprecated. UseIntracellularElectrode.filtering
instead.NWBFile.modules
is deprecated. UseNWBFile.processing
instead.ImageSeries.format
is fixed to 'external' if an external file is provided.ImageSeries.bits_per_pixel
is deprecated.ImagingPlane.manifold
,ImagingPlane.conversion
andImagingPlane.unit
are deprecated. UseImagingPlane.origin_coords
andImagingPlane.grid_spacing
instead.IndexSeries.unit
is fixed to "N\A".IndexSeries.indexed_timeseries
is deprecated. UseIndexSeries.indexed_images
instead.
- The following deprecated methods have been removed:
NWBFile.add_ic_electrode
is removed. UseNWBFile.add_icephys_electrode
instead.NWBFile.create_ic_electrode
is removed. UseNWBFile.create_icephys_electrode
instead.NWBFile.get_ic_electrode
is removed. UseNWBFile.get_icephys_electrode
instead.pynwb._get_resources
is removed.
Enhancements and minor changes
- Added
pynwb.read_nwb
convenience 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.bounds
field that was not functional. This will be fixed in a future release. @rly #1907, #1996 - Added support for
NWBFile.was_generated_by
field. @stephprince #1924 - Added support for
model_number
,model_name
, andserial_number
fields toDevice
. @stephprince #1997 - Deprecated
EventWaveform
neurodata type. @rly #1940 - Deprecated
ImageMaskSeries
neurodata 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-path
CLI 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
Container
constructor 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
, andFilteredEphys
examples. @stephprince #2012 - Replaced deprecated
scipy.misc.face
dataset in the images tutorial with another example. @stephprince #2016