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
)
        sys.exit(0)
    elif sys.argv[1] == GENERATE_SETUP_FILES:
        print()
        print()
        print("Generate setup files")
        print()
        provider = sys.argv[2]
        update_generated_files_for_package(
            provider, "", suffix, [], BACKPORT_PACKAGES, update_release_notes=False, update_setup=True
        )
        sys.exit(0)
    _provider_package = sys.argv[1]
    verify_provider_package(_provider_package)
    del sys.argv[1]
    package_format = os.environ.get("PACKAGE_FORMAT", "wheel")
    print(f"Building provider package: {_provider_package} in format ${package_format}")
    copy_readme_and_changelog(_provider_package, BACKPORT_PACKAGES)
    command = ["python3", "setup.py"]
    if suffix != "":
        command.extend(['egg_info', '--tag-build', suffix])
    if package_format in ['sdist', 'both']:
        command.append("sdist")
    if package_format in ['wheel', 'both']:
        command.append("bdist_wheel")
    print(f"Executing command: '{command}'")
    subprocess.check_call(
        command,
    )