NWB (Neurodata Without Borders) file reading and writing for the ezmsg framework.
ezmsg-nwb provides streaming NWB file I/O as ezmsg Units.
Key features:
- NWB Reader - Stream data from NWB files (local or remote) as AxisArray messages
- NWB Writer - Write incoming AxisArray streams to NWB files with automatic container management
- Flexible clock handling - Support for system, monotonic, and unknown reference clocks
Install from PyPI:
pip install ezmsg-nwbOr install the latest development version:
pip install git+https://github.com/ezmsg-org/ezmsg-nwb@mainezmsgezmsg-baseprocnumpypynwbh5pyneuroconvremfilepyyaml
See the examples folder for usage examples.
import ezmsg.core as ez
from ezmsg.nwb import NWBIteratorUnit, NWBSinkFor general ezmsg tutorials and guides, visit ezmsg.org.
We use uv for development.
- Install
uvif not already installed. - Fork this repository and clone your fork locally.
- Open a terminal and
cdto the cloned folder. - Run
uv syncto create a.venvand install dependencies. - (Optional) Install pre-commit hooks:
uv run pre-commit install - After making changes, run the test suite:
uv run pytest tests
MIT License - see LICENSE for details.
This project is supported by the Wyss Center for Bio and Neuroengineering and by Blackrock Neurotech.