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 or to an open stream.

FileWriter

Base class for format writers.

JsonFileWriter

Write records as one JSON array.

JsonlFileWriter

Write newline-delimited JSON, one record per line.

CsvFileWriter

Write one CSV row per channel value, after a header unless the stream already has data.

AvroFileWriter

Write snappy-compressed Avro records in the Nominal Core ingest schema.

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.

Plotly Publisher#

PlotlyPublisher

Plot Measurement/Command data on a Plotly figure, one trace per channel.

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.