class_docstr: Wrapper which allows multiple BaseDeformer objects to be chained together
  
  A given JAMS object will be transformed sequentially by
  each stage of the pipeline.
  
  The pipeline induces a graph over transformers
  
  Attributes
  ----------
  steps : argument array
      steps[i] is a tuple of `(name, Transformer)`
  
  Examples
  --------
  >>> P = muda.deformers.PitchShift(semitones=5)
  >>> T = muda.deformers.TimeStretch(speed=1.25)
  >>> Pipe = muda.Pipeline(steps=[('Pitch:maj3', P), ('Speed:1.25x', T)])
  >>> output_jams = list(Pipe.transform(jam_in))
  
  See Also
  --------
  Union
class_docstr_tok: ["Wrapper","which","allows","multiple","BaseDeformer","objects","to","be","chained","together","A","given","JAMS","object","will","be","transformed","sequentially","by","each","stage","of","the","pipeline",".","The","pipeline","induces","a","graph","over","transformers","Attributes","--","--","--","--","--","steps",":","argument","array","steps","[","i","]","is","a","tuple","of","`","(","name",",","Transformer",")","`","Examples","--","--","--","--",">",">",">","P","=","muda.deformers.PitchShift","(","semitones=5",")",">",">",">","T","=","muda.deformers.TimeStretch","(","speed=1.25",")",">",">",">","Pipe","=","muda.Pipeline","(","steps=","[","(","'Pitch",":","maj3","'",",","P",")",",","(","'Speed:1.25x","'",",","T",")","]",")",">",">",">","output_jams","=","list","(","Pipe.transform","(","jam_in",")",")","See","Also","--","--","--","--","Union"]
code: def __init__(self, steps=None):
      names, transformers = zip(*steps)
  
      if len(set(names)) != len(steps):
          raise ValueError(
              "Names provided are not unique: " " {}".format(names)
          )
  
      # shallow copy of steps
      self.steps = list(zip(names, transformers))
  
      for t in transformers:
          if not isinstance(t, BaseTransformer):
              raise TypeError("{:s} is not a BaseTransformer".format(t))
  
imports: import numpy
  import copy
  from collections import OrderedDict
  import itertools
  import six
  import inspect
label_desc: Use image node_id 1 to create a new Pipeline object from inherited base classes: object with example: obj = Pipeline(steps)