docs: def extract_metainfo_files_from_package(
          package,
          output_folder,
          debug=False
          ):
      """ Extracts metdata files from the given package to the given folder,
          which may be referenced in any way that is permitted in
          a requirements.txt file or install_requires=[] listing.
  
          Current supported metadata files that will be extracted:
  
          - pytoml.yml  (only if package wasn't obtained as wheel)
          - METADATA
      """
  
      if package is None:
          raise ValueError("package cannot be None")
  
      if not os.path.exists(output_folder) or os.path.isfile(output_folder):
          raise ValueError("output folder needs to be existing folder")
  
      # A temp folder for making a package copy in case it's a local folder,
      # because extracting metadata might modify files
      # (creating sdists/wheels...)
      temp_folder = tempfile.mkdtemp(prefix="pythonpackage-package-copy-")
      try:
          # Package is indeed a folder! Get a temp copy to work on:
          if is_filesystem_path(package):
              shutil.copytree(
                  parse_as_folder_reference(package),
                  os.path.join(temp_folder, "package")
              )
              package = os.path.join(temp_folder, "package")
  
          # Because PEP517 can be noisy and contextlib.redirect_* fails to
          # contain it, we will run the actual analysis in a separate process:
          try:
              subprocess.check_output([
                  sys.executable,
                  "-c",
                  "import importlib\n"
                  "import json\n"
                  "import os\n"
                  "import sys\n"
                  "sys.path = [os.path.dirname(sys.argv[3])] + sys.path\n"
                  "m = importlib.import_module(\n"
                  "    os.path.basename(sys.argv[3]).partition('.')[0]\n"
                  ")\n"
                  "m._extract_metainfo_files_from_package_unsafe("
                  "    sys.argv[1],"
                  "    sys.argv[2],"
                  ")",
                  package, output_folder, os.path.abspath(__file__)],
                  stderr=subprocess.STDOUT,  # make sure stderr is muted.
                  cwd=os.path.join(os.path.dirname(__file__), "..")
              )
          except subprocess.CalledProcessError as e:
              output = e.output.decode("utf-8", "replace")
              if debug:
                  print("Got error obtaining meta info.")
                  print("Detail output:")
                  print(output)
                  print("End of Detail output.")
              raise ValueError(
                  "failed to obtain meta info - "
                  "is '{}' a valid package? "
                  "Detailed output:\n{}".format(package, output)
                  )
      finally:
          shutil.rmtree(temp_folder)