ezmsg.qt.sidecar#
Sidecar runtime compilation for processor graphs.
Functions
Classes
- class CompiledGraph(graph, gate_component_name, stage_component_names, source_topic, gate_topic, sinks, settings_bindings=(), input_bindings=())[source]#
Bases:
object- Parameters:
graph (ProcessorGraph)
gate_component_name (str | None)
source_topic (str)
gate_topic (str | None)
sinks (tuple[CompiledSink, ...])
settings_bindings (tuple[ProcessorSettingsBinding, ...])
input_bindings (tuple[ProcessorInputBinding, ...])
- graph: ProcessorGraph#
- sinks: tuple[CompiledSink, ...]#
- settings_bindings: tuple[ProcessorSettingsBinding, ...] = ()#
- input_bindings: tuple[ProcessorInputBinding, ...] = ()#
- __init__(graph, gate_component_name, stage_component_names, source_topic, gate_topic, sinks, settings_bindings=(), input_bindings=())#
- Parameters:
graph (ProcessorGraph)
gate_component_name (str | None)
source_topic (str)
gate_topic (str | None)
sinks (tuple[CompiledSink, ...])
settings_bindings (tuple[ProcessorSettingsBinding, ...])
input_bindings (tuple[ProcessorInputBinding, ...])
- Return type:
None
- class ProcessorStageCollection(processors)[source]#
Bases:
CollectionCollection wrapper for a linear processor stage.
- Parameters:
processors (tuple[Any, ...])
- INPUT = InputTopicStream:unlocated[Any]()#
- OUTPUT = OutputTopicStream:unlocated[Any]()#
- __init__(processors)[source]#
Initialize an Addressable object.
The name and location are initially None and must be set before the object can be properly addressed. This is achieved through the
_set_name()and_set_location()methods.
- network()[source]#
Override this method and have the definition return a NetworkDefinition which defines how InputStreams and OutputStreams from member Units will be connected.
The NetworkDefinition specifies the message routing between components by connecting output streams to input streams.
- process_components()[source]#
Override this method and have the definition return a tuple which contains Units and Collections which should run in their own processes.
This method allows you to specify which components should be isolated in separate processes for performance or isolation requirements.