Extensions#

ezmsg uses Python namespace packages to provide a modular ecosystem of extensions. Namespace packages allow multiple independently distributed packages to share a common namespace (ezmsg.*), so you can install only what you need while keeping imports consistent.

For example, installing ezmsg-sigproc makes the ezmsg.sigproc module available:

pip install ezmsg-sigproc
from ezmsg.sigproc.butterworthfilter import ButterworthFilter

Each extension is a separate package with its own dependencies, versioning, and release cycle. This keeps the core ezmsg package lightweight while allowing the ecosystem to grow.

ezmsg logo Official Extensions#

These namespace packages are maintained by the ezmsg organization:

Package

Description

Docs

Source

ezmsg-baseproc

Base processor classes and protocols for building message-processing components

docs

github

ezmsg-blackrock

Interface for Blackrock Cerebus ecosystem (incl. Neuroport) using pycbsdk

docs

github

ezmsg-event

Discrete signal events like neural spikes, heartbeats, and triggers

docs

github

ezmsg-learn

Machine learning modules for streaming signal processing

docs

github

ezmsg-lsl

Lab Streaming Layer (LSL) inlet and outlet units

docs

github

ezmsg-neo

Load and stream data from Neo-supported file formats (Blackrock, BrainVision, etc.)

docs

github

ezmsg-panel

Real-time plotting and dashboards using Panel/HoloViz

docs

github

ezmsg-redis

Redis pub/sub units for distributed messaging

docs

github

ezmsg-sigproc

Timeseries signal processing: filtering, spectral analysis, resampling, and more

docs

github

ezmsg-simbiophys

Simulated biophysical signals: oscillators, noise generators, synthetic EEG

docs

github

ezmsg-tools

Visualization and debugging tools for running ezmsg graphs

docs

github

ezmsg-websocket

WebSocket server and client units for web integration

docs

github

ezmsg-xdf

XDF (Extensible Data Format) file reading and writing

docs

github

ezmsg-zmq

ZeroMQ pub/sub units for distributed messaging

docs

github

ezmsg logo Community Extensions#

These extensions are maintained by community members:

  • ezmsg-unicorn – g.tec Unicorn Hybrid Black integration

  • ezmsg-gadget – USB-gadget with HID control for Raspberry Pi (Zero/W/2W, 4, CM4)

  • ezmsg-openbci – OpenBCI Cyton serial interface

  • ezmsg-ssvep – Tools for running SSVEP experiments

  • ezmsg-vispy – Visualization toolkit using PyQt6 and VisPy

Note

Want to create your own extension? Use the ezmsg-template repository as a starting point.