def METHOD_NAME(
    targeted_packages: List[str],
    distribution_directory: str = None,
    is_dev_build: bool = False,
    build_apiview_artifact: bool = False,
    build_id: str = "",
):
    logger = initialize_logger("build.py")
    logger.log(level=logging.INFO, msg=f"Generating Package Using Python {sys.version}")
    for package_root in targeted_packages:
        setup_parsed = ParsedSetup.from_path(package_root)
        package_name_in_artifacts = os.path.join(os.path.basename(package_root))
        dist_dir = os.path.join(distribution_directory, package_name_in_artifacts)
        if is_dev_build:
            process_requires(package_root)
            new_version = get_dev_version(setup_parsed.version, build_id)
            logger.log(level=logging.DEBUG, msg=f"{setup_parsed.name}: {setup_parsed.version} -> {new_version}")
            set_version_py(setup_parsed.setup_filename, new_version)
            set_dev_classifier(setup_parsed.setup_filename, new_version)
        create_package(package_root, dist_dir)