Skip to content

sgnts.compose

Composable time-series elements for SGN-TS.

This module re-exports sgn.compose classes with TS-prefixed names for API consistency. The underlying implementation is identical to sgn.compose.

When TS-specific validation is needed in the future, these aliases can be replaced with subclasses that add validation logic.

Example usage

from sgnts.compose import TSCompose

Create a composed source from source + transforms

composed = ( ... TSCompose() ... .connect(ts_source, transform1) ... .connect(transform1, transform2) ... .as_source(name="my_composed_ts_source") ... )

Use like any other source element

pipeline.connect(composed, my_sink)

Nested composition: build from smaller composed units

inner_transform = ( ... TSCompose() ... .connect(filter1, filter2) ... .as_transform(name="filter_chain") ... )

outer_source = ( ... TSCompose() ... .connect(ts_source, inner_transform) # composed inside composed ... .as_source(name="filtered_source") ... )