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
with open(PROVIDER_2_0_0_DATA_SCHEMA_PATH) as schema_file:
            content = json.load(schema_file)
        return content
    schema = _load_schema()
    try:
        jsonschema.validate(provider_info, schema=schema)
    except jsonschema.ValidationError as e:
        raise Exception(
            "Error when validating schema. The schema must be Airflow 2.0.0 compatible. "
            "If you added any fields please remove them via 'remove_extra_fields' method.",
            e,
        )
def remove_logo_field(original_provider_info: Dict[str, Any]):
    updated_provider_info = deepcopy(original_provider_info)
    expression = jsonpath_ng.parse("integrations..logo")
    updated_provider_info = expression.filter(lambda x: True, updated_provider_info)
    return updated_provider_info
def remove_extra_fields(provider_info: Dict[str, Any]) -> Dict[str, Any]:
    """
    In Airflow 2.0.0 we set 'additionalProperties" to 'false' in provider's schema, which makes the schema
    non future-compatible. While we changed tho additionalProperties to 'true' in 2.0.1, we have to
    make sure that the returned provider_info when preparing package is compatible with the older version
    of the schema and remove all the newly added fields until we deprecate (possibly even yank) 2.0.0
    and make provider packages depend on Airflow >=2.0.1.
    """
    provider_info = remove_logo_field(provider_info)
    return provider_info
def get_provider_info(provider_package_id: str) -> Dict[str, Any]: