class_docstr: A directed acyclic graph pipeline.
  
  This Pipeline can be given an arbitrary graph composed of Pipeline instances
  and will run all of those pipelines feeding outputs to inputs. See README.md
  for details.
  
  Use DAGPipeline to compose multiple smaller pipelines together.
class_docstr_tok: ["A","directed","acyclic","graph","pipeline",".","This","Pipeline","can","be","given","an","arbitrary","graph","composed","of","Pipeline","instances","and","will","run","all","of","those","pipelines","feeding","outputs","to","inputs",".","See","README.md","for","details",".","Use","DAGPipeline","to","compose","multiple","smaller","pipelines","together","."]
docstr: Gets the type signature of the dependency output.
docstr_tok: ["Gets","the","type","signature","of","the","dependency","output","."]
code: def _get_type_signature_for_dependency(self, dependency):
      """Gets the type signature of the dependency output."""
      if isinstance(
          dependency,
          (pipeline.Pipeline, pipeline.PipelineKey, DagInput),
      ):
          return dependency.output_type
      return dict(
          (name, sub_dep.output_type)
          for name, sub_dep in dependency.items()
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import itertools
  from magenta.pipelines import pipeline
  import six
label_desc: Use image node_id 5 for calling the DAGPipeline obj's underlying member method code with example usage: obj._get_type_signature_for_dependency(dependency) and returns: dict, dependency