Pynwb

Latest version: v3.0.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

3.0.0

Breaking changes
- The validation methods have been updated with multiple breaking changes. stephprince [1911](https://github.com/NeurodataWithoutBorders/pynwb/pull/1911)
- The behavior of `pynwb.validate(io=...)` now matches the behavior of `pynwb.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 to `pynwb.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 for `pynwb.validate(paths=[...])`, which will be deprecated in a future major release [2024](https://github.com/NeurodataWithoutBorders/pynwb/pull/2024)
- The validate module has been renamed to `validation.py`. The validate method can be
imported using `import pynwb; pynwb.validate` or `from pynwb import validate`

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`` and ``ProcessingModule.add_data_interface`` are replaced by ``ProcessingModule.add``
- ``ProcessingModule.get_container`` and ``ProcessingModule.get_data_interface`` are replaced by ``ProcessingModule.get``
- ``ScratchData.notes`` is deprecated. Use ``ScratchData.description`` instead.
- ``NWBFile.ic_electrodes`` is deprecated. Use ``NWBFile.icephys_electrodes`` instead.
- ``NWBFile.ec_electrodes`` is deprecated. Use ``NWBFile.electrodes`` instead.
- ``NWBFile.icephys_filtering`` is deprecated. Use ``IntracellularElectrode.filtering`` instead.
- ``NWBFile.modules`` is deprecated. Use ``NWBFile.processing`` instead.
- ``ImageSeries.format`` is fixed to 'external' if an external file is provided.
- ``ImageSeries.bits_per_pixel`` is deprecated.
- ``ImagingPlane.manifold``, ``ImagingPlane.conversion`` and ``ImagingPlane.unit`` are deprecated. Use ``ImagingPlane.origin_coords`` and ``ImagingPlane.grid_spacing`` instead.
- ``IndexSeries.unit`` is fixed to "N\A".
- ``IndexSeries.indexed_timeseries`` is deprecated. Use ``IndexSeries.indexed_images`` instead.
- The following deprecated methods have been removed:
- ``NWBFile.add_ic_electrode`` is removed. Use ``NWBFile.add_icephys_electrode`` instead.
- ``NWBFile.create_ic_electrode`` is removed. Use ``NWBFile.create_icephys_electrode`` instead.
- ``NWBFile.get_ic_electrode`` is removed. Use ``NWBFile.get_icephys_electrode`` instead.
- ``pynwb._get_resources`` is removed.

Enhancements and minor changes
- Added `__all__` to modules. bendichter [2021](https://github.com/NeurodataWithoutBorders/pynwb/pull/2021)
- Added `pynwb.read_nwb` convenience method to simplify reading an NWBFile written with any backend h-mayorquin [1994](https://github.com/NeurodataWithoutBorders/pynwb/pull/1994)
- Constrained `hdmf<5` to prevent future compatibility issues. [2040](https://github.com/NeurodataWithoutBorders/pynwb/pull/2040)

Bug fixes
- Made distance, orientation, and field_of_view optional in OpticalSeries to match schema bendichter [2023](https://github.com/NeurodataWithoutBorders/pynwb/pull/2023)
- Added support for NWB schema 2.8.0. rly [2001](https://github.com/NeurodataWithoutBorders/pynwb/pull/2001)
- Removed `SpatialSeries.bounds` field that was not functional. This will be fixed in a future release. rly [1907](https://github.com/NeurodataWithoutBorders/pynwb/pull/1907), [#1996](https://github.com/NeurodataWithoutBorders/pynwb/pull/1996)
- Added support for `NWBFile.was_generated_by` field. stephprince [1924](https://github.com/NeurodataWithoutBorders/pynwb/pull/1924)
- Added support for `model_number`, `model_name`, and `serial_number` fields to `Device`. stephprince [1997](https://github.com/NeurodataWithoutBorders/pynwb/pull/1997)
- Deprecated `EventWaveform` neurodata type. rly [1940](https://github.com/NeurodataWithoutBorders/pynwb/pull/1940)
- Deprecated `ImageMaskSeries` neurodata type. rly [1941](https://github.com/NeurodataWithoutBorders/pynwb/pull/1941)
- Added enhancements to the validation CLI. stephprince [1911](https://github.com/NeurodataWithoutBorders/pynwb/pull/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.
- Removed python 3.8 support, added python 3.13 support. stephprince [2007](https://github.com/NeurodataWithoutBorders/pynwb/pull/2007)
- Added warnings when using positional arguments in `Container` constructor methods. Positional arguments will raise errors in the next major release. stephprince [1972](https://github.com/NeurodataWithoutBorders/pynwb/pull/1972)
- `mock_ElectricalSeries`. Make number of electrodes between data and electrode region agree when explicitly passing data h-mayorquin [2019](https://github.com/NeurodataWithoutBorders/pynwb/pull/2019)

Documentation and tutorial enhancements
- Updated `SpikeEventSeries`, `DecompositionSeries`, and `FilteredEphys` examples. stephprince [2012](https://github.com/NeurodataWithoutBorders/pynwb/pull/2012)
- Replaced deprecated `scipy.misc.face` dataset in the images tutorial with another example. stephprince [2016](https://github.com/NeurodataWithoutBorders/pynwb/pull/2016)
- Removed Allen Brain Observatory example which was unnecessary and difficult to maintain. rly [2026](https://github.com/NeurodataWithoutBorders/pynwb/pull/2026)

2.8.3

Enhancements and minor changes
- Added `NWBHDF5IO.read_nwb` convenience method to simplify reading an NWB file. h-mayorquin [1979](https://github.com/NeurodataWithoutBorders/pynwb/pull/1979)
- Removed unused references to region references and builders in preparation for changes in HDMF 4.0. rly [1991](https://github.com/NeurodataWithoutBorders/pynwb/pull/1991)
- Made gain an optional argument for PatchClampSeries to match the schema. stephprince [1975](https://github.com/NeurodataWithoutBorders/pynwb/pull/1975)
- Added warning when writing files with `NWBHDF5IO` without the `.nwb` extension. stephprince [1978](https://github.com/NeurodataWithoutBorders/pynwb/pull/1978)
- Cache global type map to speed import 3X. sneakers-the-rat [1931](https://github.com/NeurodataWithoutBorders/pynwb/pull/1931)

Bug fixes
- Fixed bug in how `ElectrodeGroup.__init__` validates its `position` argument. oruebel [1770](https://github.com/NeurodataWithoutBorders/pynwb/pull/1770)
- Changed `SpatialSeries.reference_frame` from required to optional as specified in the schema. rly [1986](https://github.com/NeurodataWithoutBorders/pynwb/pull/1986)

Documentation and tutorial enhancements
- Added documentation example for `SpikeEventSeries`. stephprince [1983](https://github.com/NeurodataWithoutBorders/pynwb/pull/1983)
- Added documentation example for `AnnotationSeries`. stephprince [1989](https://github.com/NeurodataWithoutBorders/pynwb/pull/1989)
- Added documentation example for `DecompositionSeries`. stephprince [1981](https://github.com/NeurodataWithoutBorders/pynwb/pull/1981)

2.8.2

Enhancements and minor changes
- Added support for numpy 2.0. mavaylon1 [1956](https://github.com/NeurodataWithoutBorders/pynwb/pull/1956)
- Make `get_cached_namespaces_to_validate` a public function stephprince [1961](https://github.com/NeurodataWithoutBorders/pynwb/pull/1961)

Documentation and tutorial enhancements
- Added pre-release pull request instructions to release process documentation stephprince [1928](https://github.com/NeurodataWithoutBorders/pynwb/pull/1928)
- Added section on how to use the `family` driver in `h5py` for splitting data across multiple files oruebel [1949](https://github.com/NeurodataWithoutBorders/pynwb/pull/1949)

Bug fixes
- Fixed `can_read` method to return False if no nwbfile version can be found stephprince [1934](https://github.com/NeurodataWithoutBorders/pynwb/pull/1934)
- Changed `epoch_tags` to be a NWBFile property instead of constructor argument. stephprince [1935](https://github.com/NeurodataWithoutBorders/pynwb/pull/1935)
- Exposed option to not cache the spec in `NWBHDF5IO.export`. rly [1959](https://github.com/NeurodataWithoutBorders/pynwb/pull/1959)

2.8.1

Documentation and tutorial enhancements
- Simplified the introduction to NWB tutorial. rly [1914](https://github.com/NeurodataWithoutBorders/pynwb/pull/1914)
- Simplified the ecephys and ophys tutorials. [1915](https://github.com/NeurodataWithoutBorders/pynwb/pull/1915)
- Add comments to `src/pynwb/io/file.py` to improve developer documentation. rly [1925](https://github.com/NeurodataWithoutBorders/pynwb/pull/1925)

Bug fixes
- Fixed use of `channel_conversion` in `TimeSeries` `get_data_in_units`. rohanshah [1923](https://github.com/NeurodataWithoutBorders/pynwb/pull/1923)

2.8.0

Enhancements and minor changes
- Set rate default value inside `mock_ElectricalSeries` to avoid having to set `rate=None` explicitly when passing timestamps. h-mayorquin [1894](https://github.com/NeurodataWithoutBorders/pynwb/pull/1894)
- Integrate validation through the `TypeConfigurator`. mavaylon1 [1829](https://github.com/NeurodataWithoutBorders/pynwb/pull/1829)
- Exposed `aws_region` to `NWBHDF5IO`. rly [1903](https://github.com/NeurodataWithoutBorders/pynwb/pull/1903)

Bug fixes
- Revert changes in PyNWB 2.7.0 that allow datetimes without a timezone and without a time while issues with DANDI upload of NWB files missing timezone are resolved. rly [1908](https://github.com/NeurodataWithoutBorders/pynwb/pull/1908)

2.7.0

Enhancements and minor changes
- Added `bounds` field to `SpatialSeries` to set optional boundary range (min, max) for each dimension of data. mavaylon1 [1869](https://github.com/NeurodataWithoutBorders/pynwb/pull/1869)
- Added support for NWB schema 2.7.0. See [2.7.0 release notes](https://nwb-schema.readthedocs.io/en/latest/format_release_notes.html) for details
- Deprecated `ImagingRetinotopy` neurodata type. rly [1813](https://github.com/NeurodataWithoutBorders/pynwb/pull/1813)
- Modified `OptogeneticSeries` to allow 2D data, primarily in extensions of `OptogeneticSeries`. rly [1812](https://github.com/NeurodataWithoutBorders/pynwb/pull/1812)
- Support `stimulus_template` as optional predefined column in `IntracellularStimuliTable`. stephprince [1815](https://github.com/NeurodataWithoutBorders/pynwb/pull/1815)
- Support `NWBDataInterface` and `DynamicTable` in `NWBFile.stimulus`. rly [1842](https://github.com/NeurodataWithoutBorders/pynwb/pull/1842)
- Added support for python 3.12 and upgraded dependency versions. This also includes infrastructure updates for developers. mavaylon1 [1853](https://github.com/NeurodataWithoutBorders/pynwb/pull/1853)
- Added `grid_spacing`, `grid_spacing_unit`, `origin_coords`, `origin_coords_unit` to `ImagingPlane` fields. h-mayorquin [1892](https://github.com/NeurodataWithoutBorders/pynwb/pull/1892)
- Added `mock_Units` for generating Units tables. h-mayorquin [1875](https://github.com/NeurodataWithoutBorders/pynwb/pull/1875) and [#1883](https://github.com/NeurodataWithoutBorders/pynwb/pull/1883)
- Allow datetimes without a timezone and without a time. rly [1886](https://github.com/NeurodataWithoutBorders/pynwb/pull/1886)
- No longer automatically set the timezone to the local timezone when not provided. [1886](https://github.com/NeurodataWithoutBorders/pynwb/pull/1886)
- Updated testing to not install in editable mode and not run `coverage` by default. [1897](https://github.com/NeurodataWithoutBorders/pynwb/pull/1897)

Bug fixes
- Fix bug with reading file with linked `TimeSeriesReferenceVectorData` rly [1865](https://github.com/NeurodataWithoutBorders/pynwb/pull/1865)
- Fix bug where extra keyword arguments could not be passed to `NWBFile.add_{x}_column` for use in custom `VectorData` classes. rly [1861](https://github.com/NeurodataWithoutBorders/pynwb/pull/1861)

Page 1 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.