code: def format_attrs(attrs):
      """
      Format key, value pairs from attrs into graphviz attrs format
  
      Examples
      --------
      >>> format_attrs({'key1': 'value1', 'key2': 'value2'})  # doctest: +SKIP
      '[key1=value1, key2=value2]'
      """
      if not attrs:
          return ""
      entries = [
          "=".join((key, value)) for key, value in iteritems(attrs)
      ]
      return "[" + ", ".join(entries) + "]"
  
imports: from __future__ import unicode_literals
  from contextlib import contextmanager
  import errno
  from functools import partial
  from io import BytesIO
  from subprocess import Popen, PIPE
  from networkx import topological_sort
  from six import iteritems
  from catalyst.pipeline.data import BoundColumn
  from catalyst.pipeline import Filter, Factor, Classifier, Term
  from catalyst.pipeline.term import AssetExists
label_desc: Use image node_id 17 for calling a global function with example usage: format_attrs(attrs) and returns: unknown, str