code: def _get_versions_manifest(manifest_dir):
      
      all_pkgs = _manifest_progs + [p.get("name", p["cmd"]) for p in _cl_progs] + [p["name"] for p in _alt_progs]
      if os.path.exists(manifest_dir):
          out = []
          for plist in ["toolplus", "python", "r", "debian", "custom"]:
              pkg_file = os.path.join(manifest_dir, "%s-packages.yaml" % plist)
              if os.path.exists(pkg_file):
                  with open(pkg_file) as in_handle:
                      pkg_info = yaml.safe_load(in_handle)
                  if not pkg_info:
                      continue
                  added = []
                  for pkg in all_pkgs:
                      if pkg in pkg_info:
                          added.append(pkg)
                          out.append({"program": pkg, "version": pkg_info[pkg]["version"]})
                  for x in added:
                      all_pkgs.remove(x)
          out.sort(key=lambda x: x["program"])
          for pkg in all_pkgs:
              out.append({"program": pkg, "version": ""})
          return out
docs: Retrieve versions from a pre-existing manifest of installed software.