ezmsg-org / ezmsg

Pure-Python DAG-based high-performance SHM-backed pub-sub and multi-processing pattern
https://ezmsg.readthedocs.io/en/latest/
MIT License
14 stars 6 forks source link

[REQ] ABC for DataMessageBase or better name #141

Open cboulay opened 2 months ago

cboulay commented 2 months ago

IMO, we need an abstract base class that defines the interface for messages containing signals and features that will be passed through signal processing, feature extraction, and decoding nodes. AxisArray will be an implementation of this class.

Then our nodes (mostly in ezmsg-sigproc) can be refactored to use class methods as much as possible.

Then we can add new classes. e.g., one where data is sparse, or where data is a handle to GPU memory.

griffinmilsap commented 14 hours ago

Sounds alright to me, but wondering if we could get away with a Protocol instead of a baseclass?