class_docstr: A neatly parsed CircleCI build.
code: def get_artifacts(self) -> Dict[str, str]:
      print(f"fetching artifacts for {self.job_name}", file=sys.stderr)
      url = f"{BASE_URL}/{self.build_num}/artifacts"
      req = requests.get(url)
      req.raise_for_status()
  
      artifacts = {}
      for meta in req.json():
          path = os.path.basename(meta["path"])
          print(f"fetching {path}", file=sys.stderr)
          req = requests.get(meta["url"])
          req.raise_for_status()
          artifacts[path] = req.content.decode("utf8")
      return artifacts
  
file_path: determined/tools/scripts/update-bumpenvs-yaml.py
imports: import argparse
  import collections
  import itertools
  import os
  import pathlib
  import sys
  from typing import Any, Dict
  import requests
  from ruamel import yaml
label_desc: Use image node_id 2 for calling the Build obj's underlying member method code with example usage: obj.get_artifacts() and returns: artifacts