code: def _iter_source_assigns(s):
      try:
          m = ast.parse(s)
      except Exception as e:
          if log.getEffectiveLevel() <= logging.DEBUG:
              log.exception("parsing %r", s)
          else:
              log.warning("error parsing Python source %r: %s", s, e)
      else:
          for node in m.body:
              if _is_assign(node):
                  yield node
  
imports: import ast
  import json
  import logging
  import os
  import re
  from guild import config
  from guild import guildfile
  from guild import model
  from guild import plugin
  from guild import python_util
  from guild import util
  from .None import flags_import_util
label_desc: Use image node_id 21 for calling a global function with example usage: _iter_source_assigns(s) without return types