diff --git a/astronomer/providers/package.py b/astronomer/providers/package.py new file mode 100644 index 000000000..e4bd6bdb1 --- /dev/null +++ b/astronomer/providers/package.py @@ -0,0 +1,21 @@ +import configparser +from pathlib import Path +from typing import Any, Dict + +config = configparser.ConfigParser(strict=False) +_REPO_DIR = Path(__file__).parent.parent.parent +config.read(_REPO_DIR / "setup.cfg") + + +def get_provider_info() -> Dict[str, Any]: + """Return provider metadata to Airflow""" + return { + # Required. + "package-name": "astronomer-providers", + "name": "Astronomer Providers", + "description": config["metadata"]["description"], + "versions": [config["metadata"]["version"]], + # Optional. + "hook-class-names": [], + "extra-links": [], + } diff --git a/setup.cfg b/setup.cfg index a8c7bcdf4..665352a4f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -134,6 +134,10 @@ all = include = astronomer.* +[options.entry_points] +apache_airflow_provider= + provider_info=astronomer.providers.package:get_provider_info + [flake8] enable-extensions=G exclude = venv/*,tox/*,specs/*