class_docstr: Handle methods are used to handle the fit, transform, fit_transform and inverse_transform methods
  using a pipe and filter design pattern to handle the steps sequentially. Each step is called
  with the previous step's output as input. The last step's output is returned as final output.
  
  Think like the termina pipe commands chained together with the character '|', but where each
  command is a step, and where each step can acquire some state from fitting the transformed
  output of the previous step. This way, the steps can be chained together and the state of each
  step can be saved and reused in the end.
  
  When a pipeline fit, a new pipeline is returned containing the fitted steps within itself.
  
  Also check out the parallelized version of the pipeline,
  :class:`~neuraxle.distributed.streaming.SequentialQueuedPipeline`.
  
  .. seealso::
      :class:`~neuraxle.pipeline.BasePipeline`,
      :class:`~neuraxle.pipeline.MiniBatchSequentialPipeline`
      :class:`~neuraxle.distributed.streaming.SequentialQueuedPipeline`
class_docstr_tok: ["Handle","methods","are","used","to","handle","the","fit",",","transform",",","fit_transform","and","inverse_transform","methods","using","a","pipe","and","filter","design","pattern","to","handle","the","steps","sequentially",".","Each","step","is","called","with","the","previous","step","'s","output","as","input",".","The","last","step","'s","output","is","returned","as","final","output",".","Think","like","the","termina","pipe","commands","chained","together","with","the","character","'|","'",",","but","where","each","command","is","a","step",",","and","where","each","step","can","acquire","some","state","from","fitting","the","transformed","output","of","the","previous","step",".","This","way",",","the","steps","can","be","chained","together","and","the","state","of","each","step","can","be","saved","and","reused","in","the","end",".","When","a","pipeline","fit",",","a","new","pipeline","is","returned","containing","the","fitted","steps","within","itself",".","Also","check","out","the","parallelized","version","of","the","pipeline",",",":","class",":","`","~neuraxle.distributed.streaming.SequentialQueuedPipeline","`",".","..","seealso",":",":",":","class",":","`","~neuraxle.pipeline.BasePipeline","`",",",":","class",":","`","~neuraxle.pipeline.MiniBatchSequentialPipeline","`",":","class",":","`","~neuraxle.distributed.streaming.SequentialQueuedPipeline","`"]
docstr: Transform each pipeline steps with the pipe and filter design pattern.
  
  :param data_inputs: the data input to transform
  :return: transformed data inputs
docstr_tok: ["Transform","each","pipeline","steps","with","the","pipe","and","filter","design","pattern",".",":","param","data_inputs",":","the","data","input","to","transform",":","return",":","transformed","data","inputs"]
code: def transform(self, data_inputs: Any):
      """
      Transform each pipeline steps with the pipe and filter design pattern.
  
      :param data_inputs: the data input to transform
      :return: transformed data inputs
      """
      data_container = self.transform_data_container(
          DACT(di=data_inputs)
      )
      return data_container.data_inputs
  
imports: import warnings
  from abc import ABC, abstractmethod
  from typing import Any, List, Tuple, Union
  from neuraxle.base import BaseStep
  from neuraxle.base import ExecutionContext
  from neuraxle.base import ExecutionMode, ForceHandleMixin, Identity, NamedStepsList, TruncableSteps, _CustomHandlerMethods, _TruncableServiceWithBodyMixin
  from neuraxle.data_container import DataContainer
  from neuraxle.data_container import ListDataContainer, StripAbsentValues, ZipDataContainer
  from neuraxle.logging.warnings import warn_deprecated_arg
label_desc: Use image node_id 3 for calling the Pipeline obj's underlying member method code with example usage: obj.transform(data_inputs) and returns: data_container