Hello @potiuk 

I believe you wrote this script - [`prepare_provider_packages.py`](https://github.com/apache/airflow/blob/master/dev/provider_packages/prepare_provider_packages.py).

I am wondering if there is any reason why you did not use the standard library - [`argument.ArgumentParser`](https://docs.python.org/3/library/argparse.html) in this script?
https://docs.python.org/3/library/argparse.html
https://github.com/apache/airflow/blob/550395192929f86376151b4385cea6b8dfb76e8e/dev/provider_packages/prepare_provider_packages.py#L1518-L1552

This makes the code overly complex and, by the way, more prone to errors e.g.  ``usage()`` method describes the `--version-suffix-for-pypi` parameter, but we changed its name to `--version-suffix`.

What do you think to rewrite this script to use the standard library? Do we have a requirement that prevents this? I think of something similar to [my gist](https://gist.github.com/mik-laj/ff008718fc6cec9fe929731b8c62d6f8).

dev/provider_packages/prepare_provider_packages.py
PROVIDERS_REQUIREMENTS[provider_package_id]
        )
        cross_providers_dependencies_table = convert_cross_package_dependencies_to_table(
            cross_providers_dependencies,
            backport_packages=backport_packages,
        )
        context["CROSS_PROVIDERS_DEPENDENCIES_TABLE"] = cross_providers_dependencies_table
        context["PIP_REQUIREMENTS_TABLE"] = pip_requirements_table
    total, bad = check_if_classes_are_properly_named(entity_summaries)
    if update_release_notes:
        prepare_readme_and_changes_files(
            backport_packages,
            context,
            current_release_version,
            entity_summaries,
            provider_package_id,
            source_provider_package_path,
        )
    if update_setup:
        prepare_setup_py_file(context)
        prepare_setup_cfg_file(context)
        prepare_get_provider_info_py_file(context, provider_package_id)
        prepare_manifest_in_file(context)
    bad = bad + sum([len(entity_summary.wrong_entities) for entity_summary in entity_summaries.values()])
    if bad != 0:
        print()
        print(f"ERROR! There are {bad} errors of {total} entities for {provider_package_id}")
        print()
    return total, bad
def get_template_name(backport_packages: bool, template_suffix: str) -> str: