Transformers¶
Transformer Interface¶
-
class
zircon.transformers.base.
BaseTransformer
[source]¶ Abstract base class defining the Transformer interface.
A Transformer takes in messages, applies some transformation, and spits them back out. It is a general piece of middleware in a data stream that can be used to compress/decompress, encode/decode, or split/combine messages in a data pipeline.
Usage:
def process(msg): do_something(msg) t = MyTransformer() t.set_callback(process) for msg in messages: t.push(msg)
Pass-through Transformer¶
-
class
zircon.transformers.base.
Transformer
[source]¶ Bases:
zircon.transformers.base.BaseTransformer
Transformer that acts as a pass-through, invoking the callback for each message received with no alterations.
Extend this and override
push()
to implement a Transformer.
Common Transformers¶
-
class
zircon.transformers.common.
Combiner
(limit)[source]¶ Bases:
zircon.transformers.base.Transformer
Combine messages into a list, then send them out.
-
class
zircon.transformers.common.
Doubler
[source]¶ Bases:
zircon.transformers.base.Transformer
Output each message twice.
-
class
zircon.transformers.common.
Splitter
[source]¶ Bases:
zircon.transformers.base.Transformer
Split messages into parts by iterating through them.
-
class
zircon.transformers.common.
Uppercaser
[source]¶ Bases:
zircon.transformers.base.Transformer
Capitalize string-like messages.
-
class
zircon.transformers.common.
Lowercaser
[source]¶ Bases:
zircon.transformers.base.Transformer
Lowercase string-like messages.
-
class
zircon.transformers.common.
Pickler
[source]¶ Bases:
zircon.transformers.base.Transformer
Pickle messages with the latest protocol.
-
class
zircon.transformers.common.
Unpickler
[source]¶ Bases:
zircon.transformers.base.Transformer
Unpickle messages with the latest protocol.
-
class
zircon.transformers.common.
Compressor
[source]¶ Bases:
zircon.transformers.base.Transformer
Compress messages using zlib.
-
class
zircon.transformers.common.
Decompressor
[source]¶ Bases:
zircon.transformers.base.Transformer
Decompress messages using zlib.
-
class
zircon.transformers.common.
TimedCombiner
(dt=0.1)[source]¶ Bases:
zircon.transformers.base.Transformer
Convert individual data points into a dictionary of signal names to time series, outputted at a regular interval.
Input: (12345, ‘MYSIGNAL’, -5.2), (12346, ‘MYSIGNAL’, 1.3), ... Output: {‘MYSIGNAL’: ((12345, -5.2), (12346, 1.3))}
-
class
zircon.transformers.common.
Printer
(prefix=None)[source]¶ Bases:
zircon.transformers.base.Transformer
Prints messages and passes them on unaltered.