code: def pipe(self, format=None, renderer=None, formatter=None):
          
          if format is None:
              format = self._format
  
          data = text_type(self.source).encode(self._encoding)
  
          out = backend.pipe(self._engine, format, data, renderer, formatter)
  
          return out
docs: Return the source piped through the Graphviz layout command.
  
          Args:
              format: The output format used for rendering (``'pdf'``, ``'png'``, etc.).
              renderer: The output renderer used for rendering (``'cairo'``, ``'gd'``, ...).
              formatter: The output formatter used for rendering (``'cairo'``, ``'gd'``, ...).
          Returns:
              Binary (encoded) stdout of the layout command.
          Raises:
              ValueError: If ``format``, ``renderer``, or ``formatter`` are not known.
              graphviz.RequiredArgumentError: If ``formatter`` is given but ``renderer`` is None.
              graphviz.ExecutableNotFound: If the Graphviz executable is not found.
              subprocess.CalledProcessError: If the exit status is non-zero.