This is an automated email from the ASF dual-hosted git repository.

jasonliu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 1b4fafbdfe4 Fix OpenAI provider get_provider_info (#63404)
1b4fafbdfe4 is described below

commit 1b4fafbdfe46e9eafd0777697067cb23959cee2c
Author: Jason(Zhe-You) Liu <[email protected]>
AuthorDate: Thu Mar 12 15:15:22 2026 +0800

    Fix OpenAI provider get_provider_info (#63404)
    
    * Fix OpenAI provider get_provider_info
    
    * Fix index.rst
    
    * Fix newline static check for index.rst
---
 airflow-core/src/airflow/provider.yaml.schema.json | 12 ++++++--
 .../src/airflow_breeze/commands/pr_commands.py     | 35 ++++++++++++----------
 providers/openai/docs/index.rst                    |  4 ++-
 .../airflow/providers/openai/get_provider_info.py  | 13 ++++++--
 4 files changed, 43 insertions(+), 21 deletions(-)

diff --git a/airflow-core/src/airflow/provider.yaml.schema.json 
b/airflow-core/src/airflow/provider.yaml.schema.json
index 1eb74514015..ac6b05f30c8 100644
--- a/airflow-core/src/airflow/provider.yaml.schema.json
+++ b/airflow-core/src/airflow/provider.yaml.schema.json
@@ -84,29 +84,35 @@
                         "type": "string"
                     },
                     "tags": {
-                        "description": "List of tags describing the 
integration. While we're using RST, only one tag is supported per integration.",
+                        "description": "List of tags describing the 
integration.",
                         "type": "array",
                         "items": {
                             "type": "string",
                             "enum": [
                                 "ai",
+                                "ai-inference",
                                 "alibaba",
                                 "apache",
                                 "aws",
                                 "azure",
                                 "dbt",
+                                "embeddings",
                                 "gcp",
+                                "generative-ai",
                                 "gmp",
                                 "google",
                                 "kafka",
+                                "llm",
+                                "machine-learning",
+                                "openai",
                                 "protocol",
                                 "service",
                                 "software",
+                                "text-generation",
                                 "yandex"
                             ]
                         },
-                        "minItems": 1,
-                        "maxItems": 1
+                        "minItems": 1
                     }
                 },
                 "additionalProperties": false,
diff --git a/dev/breeze/src/airflow_breeze/commands/pr_commands.py 
b/dev/breeze/src/airflow_breeze/commands/pr_commands.py
index 8deeec4a699..6dd4e098524 100644
--- a/dev/breeze/src/airflow_breeze/commands/pr_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/pr_commands.py
@@ -422,9 +422,7 @@ def _process_check_contexts(contexts: list[dict], 
total_count: int) -> tuple[str
     return summary, failed, has_test_checks
 
 
-def _fetch_check_status_counts(
-    token: str, github_repository: str, head_sha: str
-) -> dict[str, int]:
+def _fetch_check_status_counts(token: str, github_repository: str, head_sha: 
str) -> dict[str, int]:
     """Fetch counts of checks by status for a commit. Returns a dict like 
{"SUCCESS": 5, "FAILURE": 2, ...}.
 
     Also includes an "IN_PROGRESS" key for checks still running.
@@ -491,10 +489,20 @@ def _format_check_status_counts(counts: dict[str, int]) 
-> str:
     parts = []
     # Show in a consistent order: failures first, then in-progress, then 
success, then others
     order = [
-        "FAILURE", "TIMED_OUT", "ERROR", "STARTUP_FAILURE", "ACTION_REQUIRED",
-        "IN_PROGRESS", "QUEUED", "PENDING",
-        "SUCCESS", "EXPECTED",
-        "CANCELLED", "SKIPPED", "NEUTRAL", "STALE",
+        "FAILURE",
+        "TIMED_OUT",
+        "ERROR",
+        "STARTUP_FAILURE",
+        "ACTION_REQUIRED",
+        "IN_PROGRESS",
+        "QUEUED",
+        "PENDING",
+        "SUCCESS",
+        "EXPECTED",
+        "CANCELLED",
+        "SKIPPED",
+        "NEUTRAL",
+        "STALE",
     ]
     shown = set()
     for status in order:
@@ -839,10 +847,7 @@ def _classify_already_triaged_prs(
             for comment in comments:
                 comment_author = (comment.get("author") or {}).get("login", "")
                 comment_date = comment.get("createdAt", "")
-                if (
-                    comment_author == pr.author_login
-                    and comment_date > triage_comment_date
-                ):
+                if comment_author == pr.author_login and comment_date > 
triage_comment_date:
                     author_responded = True
                     break
 
@@ -2213,10 +2218,10 @@ def _display_pr_overview_table(
         )
     get_console().print(pr_table)
     get_console().print(
-        f"  Triage: [green]Ready for review[/] = ready for maintainer review  "
-        f"[yellow]Waiting for Author[/] = triaged, no response  "
-        f"[bright_cyan]Responded[/] = author replied  "
-        f"[blue]-[/] = not yet triaged"
+        "  Triage: [green]Ready for review[/] = ready for maintainer review  "
+        "[yellow]Waiting for Author[/] = triaged, no response  "
+        "[bright_cyan]Responded[/] = author replied  "
+        "[blue]-[/] = not yet triaged"
     )
     if collab_count:
         get_console().print(
diff --git a/providers/openai/docs/index.rst b/providers/openai/docs/index.rst
index 4d57ed93cab..1e3eeddf228 100644
--- a/providers/openai/docs/index.rst
+++ b/providers/openai/docs/index.rst
@@ -68,7 +68,9 @@
 apache-airflow-providers-openai package
 ------------------------------------------------------
 
-`OpenAI <https://platform.openai.com/docs/introduction>`__
+`OpenAI <https://platform.openai.com/docs/introduction>`__ provider for Apache 
Airflow.
+Enables interaction with OpenAI APIs for text generation, embeddings,
+and other AI-powered workflows directly from Airflow DAGs.
 
 
 Release: 1.7.2
diff --git a/providers/openai/src/airflow/providers/openai/get_provider_info.py 
b/providers/openai/src/airflow/providers/openai/get_provider_info.py
index 3b6eff9bfb7..6b8eda581e2 100644
--- a/providers/openai/src/airflow/providers/openai/get_provider_info.py
+++ b/providers/openai/src/airflow/providers/openai/get_provider_info.py
@@ -25,14 +25,23 @@ def get_provider_info():
     return {
         "package-name": "apache-airflow-providers-openai",
         "name": "OpenAI",
-        "description": "`OpenAI 
<https://platform.openai.com/docs/introduction>`__\n",
+        "description": "`OpenAI 
<https://platform.openai.com/docs/introduction>`__ provider for Apache 
Airflow.\nEnables interaction with OpenAI APIs for text generation, 
embeddings,\nand other AI-powered workflows directly from Airflow DAGs.\n",
         "integrations": [
             {
                 "integration-name": "OpenAI",
                 "external-doc-url": 
"https://platform.openai.com/docs/introduction";,
                 "logo": "/docs/integration-logos/OpenAI.png",
                 "how-to-guide": 
["/docs/apache-airflow-providers-openai/operators/openai.rst"],
-                "tags": ["software"],
+                "tags": [
+                    "ai",
+                    "openai",
+                    "machine-learning",
+                    "generative-ai",
+                    "llm",
+                    "text-generation",
+                    "embeddings",
+                    "ai-inference",
+                ],
             }
         ],
         "hooks": [

Reply via email to