Publishers#

Publisher Protocol & Base Classes#

Publisher

BufferedPublisher

BasicBufferedPublisher

QueuedPublisher

SharedPublisher

A publisher that can be shared between multiple instruments.

File Publishers#

FilePublisher

Write Measurement/Command data to a file.

FileWriter

JsonFileWriter

Handles JSON format writing with proper file management.

JsonlFileWriter

Handles newline-delimited JSON writing with a persistent file handle.

CsvFileWriter

Handles CSV format writing with a persistent file handle.

AvroFileWriter

Handles Avro format writing with proper file management using fastavro.

Nominal Core Publisher#

NominalCorePublisher

Stream Measurement/Command data to a Nominal Core dataset.

Nominal Connect Publisher#

NominalConnectPublisher

Publish Measurement/Command data to a Nominal Connect stream.

Channel Buffers#

ChannelBufferPublisher

Base class for channel buffer publishers that store measurements in memory.

DequeInMemoryPublisher

NumpyInMemoryPublisher

String-valued channels are stored in a plain deque; a float32 ring cannot hold them.

NumpyRingBuffer

ChannelNotFoundError

Raised when a channel does not appear within the specified timeout.

ChannelValueTimeoutError

Raised when sufficient channel values are not available within the specified timeout.