code: def _ls_print_verbose(training: Tuple[str, dict, str]) -> None:
      
      train_dir, config, _ = training
      print_boxed('config')
      print(yaml_to_str(config))
      print()
  
      print_boxed('artifacts')
      _, dirs, files = next(os.walk(train_dir))
      artifacts = [('d', dir) for dir in dirs] + \
                  [('-', file_) for file_ in files if file_ not in [CXF_CONFIG_FILE, CXF_LOG_FILE, CXF_TRACE_FILE]]
      artifacts = [(type_, name) + humanize_filesize(path_total_size(path.join(train_dir, name)))
                   for type_, name in artifacts]
      print(tabulate(artifacts, tablefmt='plain', floatfmt='3.1f'))
      print()
docs: Print config and artifacts info from the given training tuple (train_dir, configuration dict, trace).
  
      :param training: training tuple (train_dir, configuration dict, trace)