Source Base

class gpype.backend.sources.base.source.Source[source]

Bases: ONode

Base class for data source nodes in a pipeline.

Provides foundation for all data source nodes that generate or acquire data. Sources have only output ports and serve as pipeline entry points. Handles validation of output ports, channel counts, and frame sizes.

class Configuration[source]

Bases: Configuration

Configuration class for Source parameters.

class Keys[source]

Bases: Keys

Configuration keys for source-specific settings.

CHANNEL_COUNT = 'channel_count'

Configuration key for number of channels per port

FRAME_SIZE = 'frame_size'

Configuration key for samples per frame

__init__(output_ports=None, channel_count=None, frame_size=None, **kwargs)[source]

Initialize source with output port configuration.

Parameters:
  • output_ports (Optional[list]) – List of output port configurations. Required.

  • channel_count (Union[list, int, None]) – Number of channels per port. Can be int (all ports) or list (per port). Defaults to 1. Must be >= 1 or INHERITED.

  • frame_size (Union[list, int, None]) – Samples per frame. Can be int (all ports) or list (per port). Defaults to 1. Must be >= 1 or INHERITED.

  • **kwargs – Additional arguments for parent ONode class.

Raises:

ValueError – If validation fails or input_ports specified.

property delay

Get the timing delay in seconds.

Returns:

Current delay value in seconds for timing synchronization.

setup(data, port_context_in)[source]

Setup output port contexts with channel and frame information.

Parameters:
  • data (dict[str, ndarray]) – Input data arrays (empty for source nodes).

  • port_context_in (dict[str, dict]) – Input port contexts (empty for source nodes).

Return type:

dict[str, dict]

Returns:

Dictionary of output port contexts with channel_count and frame_size information for each output port.