class_docstr: Components orchestration engine.
  
  Builds a graph of components and orchestrates their execution according to the execution graph.
class_docstr_tok: ["Components","orchestration","engine",".","Builds","a","graph","of","components","and","orchestrates","their","execution","according","to","the","execution","graph","."]
docstr: Draws the pipeline. Requires either `graphviz` as a system dependency, or an internet connection for Mermaid.
  Run `pip install graphviz` or `pip install mermaid` to install missing dependencies.
  
  Args:
      path: where to save the diagram.
      engine: which format to save the graph as. Accepts 'graphviz', 'mermaid-text', 'mermaid-image'.
          Default is 'mermaid-image'.
  
  Returns:
      None
  
  Raises:
      ImportError: if `engine='graphviz'` and `pygraphviz` is not installed.
      HTTPConnectionError: (and similar) if the internet connection is down or other connection issues.
docstr_tok: ["Draws","the","pipeline",".","Requires","either","`","graphviz","`","as","a","system","dependency",",","or","an","internet","connection","for","Mermaid",".","Run","`","pip","install","graphviz","`","or","`","pip","install","mermaid","`","to","install","missing","dependencies",".","Args",":","path",":","where","to","save","the","diagram",".","engine",":","which","format","to","save","the","graph","as",".","Accepts","'graphviz","'",",","'mermaid-text","'",",","'mermaid-image","'",".","Default","is","'mermaid-image","'",".","Returns",":","None","Raises",":","ImportError",":","if","`","engine='graphviz","'","`","and","`","pygraphviz","`","is","not","installed",".","HTTPConnectionError",":","(","and","similar",")","if","the","internet","connection","is","down","or","other","connection","issues","."]
code: def draw(
      self, path: Path, engine: RenderingEngines = "mermaid-image"
  ) -> None:
      """
      Draws the pipeline. Requires either `graphviz` as a system dependency, or an internet connection for Mermaid.
      Run `pip install graphviz` or `pip install mermaid` to install missing dependencies.
  
      Args:
          path: where to save the diagram.
          engine: which format to save the graph as. Accepts 'graphviz', 'mermaid-text', 'mermaid-image'.
              Default is 'mermaid-image'.
  
      Returns:
          None
  
      Raises:
          ImportError: if `engine='graphviz'` and `pygraphviz` is not installed.
          HTTPConnectionError: (and similar) if the internet connection is down or other connection issues.
      """
      _draw(
          graph=networkx.MultiDiGraph(self.graph),
          path=path,
          engine=engine,
      )
  
imports: from typing import Optional, Any, Dict, List, Union, TypeVar, Type, Set
  import os
  import json
  import datetime
  import logging
  import importlib
  from pathlib import Path
  from copy import deepcopy
  from collections import defaultdict
  import networkx
  from haystack.core.component import component, Component, InputSocket, OutputSocket
  from haystack.core.errors import PipelineError, PipelineConnectError, PipelineMaxLoops, PipelineRuntimeError, PipelineValidationError
  from haystack.core.pipeline.descriptions import find_pipeline_outputs
  from haystack.core.pipeline.draw.draw import _draw, RenderingEngines
  from haystack.core.pipeline.validation import validate_pipeline_input, find_pipeline_inputs
  from haystack.core.component.connection import Connection, parse_connect_string
  from haystack.core.type_utils import _type_name
  from haystack.core.serialization import component_to_dict, component_from_dict
label_desc: Use image node_id 11 for calling the Pipeline obj's underlying member method code with example usage: obj.draw(path, engine) without return types