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
"RELEASE_NO_LEADING_ZEROS": release_version_no_leading_zeros,
        "VERSION_SUFFIX": version_suffix,
        "ADDITIONAL_INFO": get_additional_package_info(provider_package_path=source_provider_package_path),
        "CROSS_PROVIDERS_DEPENDENCIES": cross_providers_dependencies,
        "PIP_REQUIREMENTS": PROVIDERS_REQUIREMENTS[provider_package_id],
        "PROVIDER_TYPE": "Backport provider" if BACKPORT_PACKAGES else "Provider",
        "PROVIDERS_FOLDER": "backport-providers" if BACKPORT_PACKAGES else "providers",
        "INSTALL_REQUIREMENTS": get_install_requirements(
            provider_package_id=provider_package_id, backport_packages=backport_packages
        ),
        "SETUP_REQUIREMENTS": get_setup_requirements(),
        "EXTRAS_REQUIREMENTS": get_package_extras(
            provider_package_id=provider_package_id, backport_packages=backport_packages
        ),
        "PROVIDER_INFO": get_provider_info(provider_package_id),
    }
    if update_release_notes:
        git_cmd = get_git_command(previous_release)
        try:
            changes = subprocess.check_output(
                git_cmd, cwd=source_provider_package_path, universal_newlines=True
            )
            changes_table = convert_git_changes_to_table(
                changes, base_url="https://github.com/apache/airflow/commit/"
            )
        except subprocess.CalledProcessError:
            
            changes_table = ''
        context["CURRENT_CHANGES_TABLE"] = changes_table
        pip_requirements_table = convert_pip_requirements_to_table(