code: def should_rebuild(targets, source_files):
      from distutils.dep_util import newer_group
  
      for t in targets:
          if not os.path.exists(t):
              return True
      sources = API_FILES + list(source_files) + [__file__]
      if newer_group(sources, targets[0], missing="newer"):
          return True
      return False
  
imports: import hashlib
  import io
  import os
  import re
  import sys
  import importlib.util
  import textwrap
  from os.path import join
label_desc: Use image node_id 8 for calling a global function with example usage: should_rebuild(targets, source_files) and returns: False, True, True