code: def _dict_difference(a, b):
      """
      Returns `(keys_a, keys_b, key_values)`, information about differences
      between dicts `a` and `b`.
  
      `keys_a` is the set of keys that are in `a` but not in `b`.
  
      `keys_b` is the set of keys that are in `b` but not in `a`.
  
      `key_values` is a dict with keys that are in both `a` and `b` but where the
      values differ; the values in this dict are `(value_a, value_b)`.
      """
      keys_a = set()
      keys_b = set()
      key_values = dict()
      for key in a:
          if key not in b:
              keys_a.add(key)
      for key in b:
          if key not in a:
              keys_b.add(key)
      for key, va in a.items():
          if key in b:
              vb = b[key]
              if va != vb:
                  key_values[key] = (va, vb)
      return keys_a, keys_b, key_values
  
file_path: pymudf/tests/test_drawings.py
imports: import io
  import os
  import sys
  import pprint
  import fitz
label_desc: Use image node_id 3 for calling a global function with example usage: _dict_difference(a, b) and returns: keys_a,  keys_b,  key_values