mufasa.io.inputs.streaming#

Classes#

StreamingInputNode

Base for push-based streaming inputs.

LocationStreamingInput

Streaming input for Location objects.

ObservationStreamingInput

Streaming input for Location objects.

MapStreamingInput

Streaming input for Map objects.

Module Contents#

class mufasa.io.inputs.streaming.StreamingInputNode#

Bases: mufasa.io.inputs.base.InputNode

Base for push-based streaming inputs.

External code (MQTT handler, socket listener, etc.) calls ingest() as items arrive. MuFASA is not responsible for connection lifecycle. Use LocationStreamingInput or MapStreamingInput directly.

items()#

Return items from this input in temporal order.

File-based nodes return a sorted list. Streaming nodes return a blocking generator that yields as items arrive via ingest().

ingest(item) → None#

Deliver one item into the pipeline.

Return type:

None

stop() → None#

Signal this input to stop yielding from items().

Return type:

None

get_config() → dict#

Return all constructor arguments as a plain JSON-serializable dict.

Used by Graph.to_config() to serialise the pipeline. Every key must be a string; every value must be JSON-serializable.

Return type:

dict

class mufasa.io.inputs.streaming.LocationStreamingInput#

Bases: StreamingInputNode

Streaming input for Location objects.

class mufasa.io.inputs.streaming.ObservationStreamingInput#

Bases: StreamingInputNode

Streaming input for Location objects.

class mufasa.io.inputs.streaming.MapStreamingInput#

Bases: StreamingInputNode

Streaming input for Map objects.