Skip to main content

NWB (Neurodata Without Borders) file reading and writing for ezmsg

Project description

ezmsg-nwb

NWB (Neurodata Without Borders) file reading and writing for the ezmsg framework.

Overview

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

Installation

Install from PyPI:

pip install ezmsg-nwb

Or install the latest development version:

pip install git+https://github.com/ezmsg-org/ezmsg-nwb@main

Dependencies

  • ezmsg
  • ezmsg-baseproc
  • numpy
  • pynwb
  • h5py
  • neuroconv
  • remfile
  • pyyaml

Usage

See the examples folder for usage examples.

import ezmsg.core as ez
from ezmsg.nwb import NWBIteratorUnit, NWBSink

For general ezmsg tutorials and guides, visit ezmsg.org.

Development

We use uv for development.

  1. Install uv if not already installed.
  2. Fork this repository and clone your fork locally.
  3. Open a terminal and cd to the cloned folder.
  4. Run uv sync to create a .venv and install dependencies.
  5. (Optional) Install pre-commit hooks: uv run pre-commit install
  6. After making changes, run the test suite: uv run pytest tests

License

MIT License - see LICENSE for details.

Acknowledgements

This project is supported by the Wyss Center for Bio and Neuroengineering and by Blackrock Neurotech.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezmsg_nwb-1.2.0.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezmsg_nwb-1.2.0-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

Details for the file ezmsg_nwb-1.2.0.tar.gz.

File metadata

  • Download URL: ezmsg_nwb-1.2.0.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ezmsg_nwb-1.2.0.tar.gz
Algorithm Hash digest
SHA256 e09249b50dd36e7aab2e0b5eb04272ef6c52ade83d8557601ad396647f41d6a5
MD5 50243c0bac37b63a71845699ca2b3dd8
BLAKE2b-256 c975ac2d6ae37f99de52b1842c406226e6a948b0d0c59bde86ea852e5a6eb831

See more details on using hashes here.

File details

Details for the file ezmsg_nwb-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ezmsg_nwb-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ezmsg_nwb-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 159e5665f4bca331d3269db0170d90c9b69a3f0ce1468d244df151563d994eac
MD5 9f2eb2ee77aebdc68f183297aedac25f
BLAKE2b-256 d91e74a0d185da1e46e8f0222ce538f4e1dce095b5429e13ac6b3d1350e7493d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page