code: def _runs_data_iter(self, runs, api_version):
      index = self._init_index(runs)
      for run in runs:
          try:
              yield run_data(run, index, api_version)
          except Exception as e:
              if log.getEffectiveLevel() <= logging.DEBUG:
                  log.exception(
                      "error processing run data for %s", run.id
                  )
              else:
                  log.error(
                      "error processing run data for %s: %r", run.id, e
                  )
  
imports: import json
  import logging
  import os
  import re
  import socket
  import sys
  import guild
  import guild.run
  from guild import batch_util
  from guild import cli
  from guild import click_util
  from guild import config
  from guild import index
  from guild import run_util
  from guild import util
  from guild import var
  from guild import view
  from .None import compare_impl
  from .None import runs_impl
label_desc: Use image node_id 7 for calling the ViewDataImpl obj's underlying member method code with example usage: obj._runs_data_iter(runs, api_version) without return types