================================================================================
DataProcessingPipeline -- from damast.core.dataprocessing
A data-processing pipeline for a sequence of transformers
:param name: Name of the pipeline
:param base_dir: Base directory towards which transformer output which be relative
:param steps: Steps that form the basis for this pipeline
:param inplace_transformation: If true, the input :class:`damast.core.dataframe.AnnotatedDataFrame` is not
copied when calling :func:`transform`. Else input data-frame is untouched
:param name_mappings: Name mappings that should be applied to individual transformations.
:param trackers: Observers of what each step does to the data, see
:class:`damast.core.tracking.PipelineElementTracker`. What they report ends up in
:func:`processing_stats`. Defaults to a :class:`damast.core.tracking.TimingTracker` and a
:class:`damast.core.tracking.RowCountTracker`; pass a list to add to or replace those, e.g.
a :class:`damast.core.tracking.KeyTracker` to also count distinct entities. An empty list
collects nothing.
:raises ValueError: If any of the transformer names are `None`
:raises AttributeError: If the transformer is missing the :func:`transform` function
:raises AttributeError: If transformer is missing input or output decoration
:raises RuntimeError: If the sequence of transformers does not satisfy the sequential requirements
================================================================================
DataSource -- from damast.core.processing_graph
PipelineElement that marks a datasource, e.g.,
an annotated dataframe that needs to be processed