# `PipelineElement`

### *class* capymoa.stream.preprocessing.PipelineElement[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/stream/preprocessing/pipeline.py#L24)

Bases: [`Protocol`](https://docs.python.org/3/library/typing.html#typing.Protocol)

The basic pipeline building block

#### \_\_init_\_(\*args, \*\*kwargs)[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/../../../../../.local/share/uv/python/cpython-3.11.16-linux-x86_64-gnu/lib/python3.11/typing.py#L1952)

#### get_input_schema() → [Schema](capymoa.stream.Schema.md#capymoa.stream.Schema) | [None](https://docs.python.org/3/builtins/constants.html#None)[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/stream/preprocessing/pipeline.py#L48)

Return the schema of instances this element expects to receive.

Defaults to [`get_schema()`](#capymoa.stream.preprocessing.PipelineElement.get_schema), which is correct for every element that
does not alter the attribute set.

#### get_schema() → [Schema](capymoa.stream.Schema.md#capymoa.stream.Schema) | [None](https://docs.python.org/3/builtins/constants.html#None)[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/stream/preprocessing/pipeline.py#L39)

Return the schema of instances leaving this element.

Returns `None` when the element neither knows nor alters the schema –
a drift detector, for instance. The default is `None` so that existing
[`PipelineElement`](#capymoa.stream.preprocessing.PipelineElement) implementations keep working unchanged.

#### *abstract* pass_forward(instance: [Instance](capymoa.core.Instance.md#capymoa.core.Instance)) → [Instance](capymoa.core.Instance.md#capymoa.core.Instance)[[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/stream/preprocessing/pipeline.py#L29)

#### *abstract* pass_forward_predict(instance: [Instance](capymoa.core.Instance.md#capymoa.core.Instance), prediction=None) → [tuple](https://docs.python.org/3/builtins/stdtypes.html#tuple)[[Instance](capymoa.core.Instance.md#capymoa.core.Instance), [Any](https://docs.python.org/3/library/typing.html#typing.Any)][[source]](https://github.com/adaptive-machine-learning/CapyMOA/blob/3e255b1/src/capymoa/stream/preprocessing/pipeline.py#L33)
