def METHOD_NAME():
    """Run script."""
    ap = argparse.ArgumentParser(description=DESCRIPTION)
    ap.add_argument("requirements_files", metavar="REQUIREMENTS_FILE", nargs="+")
    ap.add_argument(
        "-o", "--output-file", metavar="FILE", help="write output to this file"
    )
    ap.add_argument(
        "-a",
        "--append",
        action="store_true",
        help="append to output file instead of overwriting",
    )
    ap.add_argument(
        "--no-cache",
        action="store_true",
        help="do not use pip cache when downloading packages",
    )
    ap.add_argument(
        "--ignore-errors",
        action="store_true",
        help="generate partial output even if pip download fails",
    )
    ap.add_argument(
        "--only-write-on-update",
        action="store_true",
        help=(
            "only write output file if dependencies will be modified - or new "
            "dependencies will be added if used in conjunction with -a/--append."
        ),
    )
    ap.add_argument(
        "--allow-binary",
        action="store_true",
        help=(
            "do not find build dependencies for packages with wheels "
            "available for the current platform"
        ),
    )
    args = ap.parse_args()
    _sanity_check_args(ap, args)
    log.info(
        "Please make sure the input files meet the requirements of this script (see --help)"
    )
    builddeps, is_partial = find_builddeps(
        args.requirements_files,
        no_cache=args.no_cache,
        ignore_errors=args.ignore_errors,
        allow_binary=args.allow_binary,
    )
    if args.only_write_on_update:
        original_builddeps = _parse_requirements_file(args.output_file)
        if args.append:
            # append only new dependencies
            builddeps = sorted(set(builddeps) - original_builddeps)
        if not builddeps or set(builddeps) == original_builddeps:
            log.info("No new build dependencies found.")
            return
    file_content = generate_file_content(builddeps, is_partial)
    log.info("Make sure to pip-compile the output before submitting a Cachito request")
    if is_partial:
        log.warning("Pip download failed, output may be incomplete!")
    if args.output_file:
        mode = "a" if args.append else "w"
        with open(args.output_file, mode) as f:
            print(file_content, file=f)
    else:
        print(file_content)