You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/07/06 13:46:51 UTC

[airflow] branch main updated: Add Tabular provider (#23704)

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

potiuk 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 10273e3c63 Add Tabular provider (#23704)
10273e3c63 is described below

commit 10273e3c63e879c7d7f9e1039f0f32bb828fac3d
Author: Fokko Driesprong <fo...@apache.org>
AuthorDate: Wed Jul 6 15:46:25 2022 +0200

    Add Tabular provider (#23704)
---
 .github/CODEOWNERS                                 |   1 +
 .../airflow_providers_bug_report.yml               |   1 +
 CONTRIBUTING.rst                                   |   4 +-
 INSTALL                                            |   4 +-
 airflow/providers/tabular/CHANGELOG.rst            |  24 ++
 airflow/providers/tabular/__init__.py              |  17 ++
 airflow/providers/tabular/hooks/__init__.py        |  17 ++
 airflow/providers/tabular/hooks/tabular.py         |  91 ++++++++
 airflow/providers/tabular/provider.yaml            |  43 ++++
 airflow/utils/db.py                                |   8 +
 docs/apache-airflow-providers-tabular/commits.rst  |  27 +++
 .../connections.rst                                |  39 ++++
 docs/apache-airflow-providers-tabular/index.rst    |  77 +++++++
 .../installing-providers-from-sources.rst          |  18 ++
 docs/apache-airflow/extra-packages-ref.rst         |   2 +
 docs/integration-logos/tabular/tabular.jpeg        | Bin 0 -> 5652 bytes
 docs/spelling_wordlist.txt                         |   1 +
 generated/provider_dependencies.json               |   6 +
 images/breeze/output-build-docs.svg                | 248 ++++++++++-----------
 images/breeze/output-commands-hash.txt             |   6 +-
 .../output-prepare-provider-documentation.svg      | 132 +++++------
 images/breeze/output-prepare-provider-packages.svg | 136 +++++------
 tests/providers/tabular/__init__.py                |  16 ++
 tests/providers/tabular/hooks/__init__.py          |  16 ++
 tests/providers/tabular/hooks/test_tabular.py      |  42 ++++
 tests/system/providers/tabular/__init__.py         |  17 ++
 tests/system/providers/tabular/example_tabular.py  |  54 +++++
 27 files changed, 782 insertions(+), 265 deletions(-)

diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 594f939e46..97e2a903ed 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -59,6 +59,7 @@
 /airflow/providers/google/ @turbaszek
 /airflow/providers/snowflake/ @turbaszek @potiuk @mik-laj
 /airflow/providers/cncf/kubernetes @jedcunningham
+/airflow/providers/tabular/ @Fokko
 /docs/apache-airflow-providers-cncf-kubernetes @jedcunningham
 
 # Dev tools
diff --git a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
index 67be91e8cb..268653ffa5 100644
--- a/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/airflow_providers_bug_report.yml
@@ -93,6 +93,7 @@ body:
         - sqlite
         - ssh
         - tableau
+        - tabular
         - telegram
         - trino
         - vertica
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index 3093bd35e7..92b98dfca1 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -627,8 +627,8 @@ grpc, hashicorp, hdfs, hive, http, imap, influxdb, jdbc, jenkins, jira, kerberos
 leveldb, microsoft.azure, microsoft.mssql, microsoft.psrp, microsoft.winrm, mongo, mssql, mysql,
 neo4j, odbc, openfaas, opsgenie, oracle, pagerduty, pandas, papermill, password, pinot, plexus,
 postgres, presto, qds, qubole, rabbitmq, redis, s3, salesforce, samba, segment, sendgrid, sentry,
-sftp, singularity, slack, snowflake, spark, sqlite, ssh, statsd, tableau, telegram, trino, vertica,
-virtualenv, webhdfs, winrm, yandex, zendesk
+sftp, singularity, slack, snowflake, spark, sqlite, ssh, statsd, tableau, tabular, telegram, trino,
+vertica, virtualenv, webhdfs, winrm, yandex, zendesk
   .. END EXTRAS HERE
 
 Provider packages
diff --git a/INSTALL b/INSTALL
index 9694ba1f5b..35b39b0b89 100644
--- a/INSTALL
+++ b/INSTALL
@@ -104,8 +104,8 @@ grpc, hashicorp, hdfs, hive, http, imap, influxdb, jdbc, jenkins, jira, kerberos
 leveldb, microsoft.azure, microsoft.mssql, microsoft.psrp, microsoft.winrm, mongo, mssql, mysql,
 neo4j, odbc, openfaas, opsgenie, oracle, pagerduty, pandas, papermill, password, pinot, plexus,
 postgres, presto, qds, qubole, rabbitmq, redis, s3, salesforce, samba, segment, sendgrid, sentry,
-sftp, singularity, slack, snowflake, spark, sqlite, ssh, statsd, tableau, telegram, trino, vertica,
-virtualenv, webhdfs, winrm, yandex, zendesk
+sftp, singularity, slack, snowflake, spark, sqlite, ssh, statsd, tableau, tabular, telegram, trino,
+vertica, virtualenv, webhdfs, winrm, yandex, zendesk
 # END EXTRAS HERE
 
 # For installing Airflow in development environments - see CONTRIBUTING.rst
diff --git a/airflow/providers/tabular/CHANGELOG.rst b/airflow/providers/tabular/CHANGELOG.rst
new file mode 100644
index 0000000000..a152fd0836
--- /dev/null
+++ b/airflow/providers/tabular/CHANGELOG.rst
@@ -0,0 +1,24 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Changelog
+---------
+
+1.0.0
+.....
+
+Initial version of the provider.
diff --git a/airflow/providers/tabular/__init__.py b/airflow/providers/tabular/__init__.py
new file mode 100644
index 0000000000..217e5db960
--- /dev/null
+++ b/airflow/providers/tabular/__init__.py
@@ -0,0 +1,17 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/airflow/providers/tabular/hooks/__init__.py b/airflow/providers/tabular/hooks/__init__.py
new file mode 100644
index 0000000000..217e5db960
--- /dev/null
+++ b/airflow/providers/tabular/hooks/__init__.py
@@ -0,0 +1,17 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/airflow/providers/tabular/hooks/tabular.py b/airflow/providers/tabular/hooks/tabular.py
new file mode 100644
index 0000000000..11dbb877d6
--- /dev/null
+++ b/airflow/providers/tabular/hooks/tabular.py
@@ -0,0 +1,91 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from typing import Any, Dict, Tuple
+
+import requests
+from requests import HTTPError
+
+from airflow.hooks.base import BaseHook
+
+DEFAULT_TABULAR_URL = "https://api.tabulardata.io/ws/v1"
+
+TOKENS_ENDPOINT = "oauth/tokens"
+
+
+class TabularHook(BaseHook):
+    """
+    This hook acts as a base hook for tabular services. It offers the ability to generate temporary,
+    short-lived session tokens to use within Airflow submitted jobs.
+
+    :param tabular_conn_id: The :ref:`Tabular connection id<howto/connection:tabular>`
+        which refers to the information to connect to the Tabular OAuth service.
+    """
+
+    conn_name_attr = 'tabular_conn_id'
+    default_conn_name = "tabular_default"
+    conn_type = "tabular"
+    hook_name = "Tabular"
+
+    @staticmethod
+    def get_ui_field_behaviour() -> Dict[str, Any]:
+        """Returns custom field behaviour"""
+        return {
+            "hidden_fields": ["schema", "port"],
+            "relabeling": {
+                "host": "Base URL",
+                "login": "Client ID",
+                "password": "Client Secret",
+            },
+            "placeholders": {
+                "host": DEFAULT_TABULAR_URL,
+                "login": "client_id (token credentials auth)",
+                "password": "secret (token credentials auth)",
+            },
+        }
+
+    def __init__(self, tabular_conn_id: str = default_conn_name) -> None:
+        super().__init__()
+        self.conn_id = tabular_conn_id
+
+    def test_connection(self) -> Tuple[bool, str]:
+        """Test the Tabular connection."""
+        try:
+            self.get_conn()
+            return True, "Successfully fetched token from Tabular"
+        except HTTPError as e:
+            return False, f"HTTP Error: {e}"
+        except Exception as e:
+            return False, str(e)
+
+    def get_conn(self) -> str:
+        """Obtain a short-lived access token via a client_id and client_secret."""
+        conn = self.get_connection(self.conn_id)
+        base_url = conn.host if conn.host else DEFAULT_TABULAR_URL
+        base_url = base_url.rstrip('/')
+        client_id = conn.login
+        client_secret = conn.password
+        headers = {"Content-Type": "application/x-www-form-urlencoded"}
+        data = {"client_id": client_id, "client_secret": client_secret}
+
+        response = requests.post(f"{base_url}/{TOKENS_ENDPOINT}", data=data, headers=headers)
+        response.raise_for_status()
+
+        return response.json()["access_token"]
+
+    def get_token_macro(self):
+        return f'{{{{ conn.{self.conn_id}.get_hook().get_conn() }}}}'
diff --git a/airflow/providers/tabular/provider.yaml b/airflow/providers/tabular/provider.yaml
new file mode 100644
index 0000000000..02f6cb59e0
--- /dev/null
+++ b/airflow/providers/tabular/provider.yaml
@@ -0,0 +1,43 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+---
+package-name: apache-airflow-providers-tabular
+name: Tabular
+description: |
+    `Tabular <https://tabular.io/>`__
+
+versions:
+  - 1.0.0
+
+dependencies:
+  - apache-airflow>=2.2.0
+
+integrations:
+  - integration-name: Tabular
+    external-doc-url: https://tabular.io/docs/
+    logo: /integration-logos/tabular/tabular.jpeg
+    tags: [software]
+
+hooks:
+  - integration-name: Tabular
+    python-modules:
+      - airflow.providers.tabular.hooks.tabular
+
+connection-types:
+  - hook-class-name: airflow.providers.tabular.hooks.tabular.TabularHook
+    connection-type: tabular
diff --git a/airflow/utils/db.py b/airflow/utils/db.py
index fecd7d7846..c2e26ad619 100644
--- a/airflow/utils/db.py
+++ b/airflow/utils/db.py
@@ -606,6 +606,14 @@ def create_default_connections(session: Session = NEW_SESSION):
         ),
         session,
     )
+    merge_conn(
+        Connection(
+            conn_id="tabular_default",
+            conn_type="tabular",
+            host="https://api.tabulardata.io/ws/v1",
+        ),
+        session,
+    )
     merge_conn(
         Connection(
             conn_id="trino_default",
diff --git a/docs/apache-airflow-providers-tabular/commits.rst b/docs/apache-airflow-providers-tabular/commits.rst
new file mode 100644
index 0000000000..ea5473ee0b
--- /dev/null
+++ b/docs/apache-airflow-providers-tabular/commits.rst
@@ -0,0 +1,27 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+
+Package apache-airflow-providers-tabular
+------------------------------------------------------
+
+`Tabular <https://tabular.io/>`__
+
+
+This is detailed commit list of changes for versions provider package: ``tabular``.
+For high-level changelog, see :doc:`package information including changelog <index>`.
diff --git a/docs/apache-airflow-providers-tabular/connections.rst b/docs/apache-airflow-providers-tabular/connections.rst
new file mode 100644
index 0000000000..ff73cd7267
--- /dev/null
+++ b/docs/apache-airflow-providers-tabular/connections.rst
@@ -0,0 +1,39 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+.. _howto/connection:tabular:
+
+Tabular Connection
+==================
+
+The Tabular connection type enables connection to Tabular to request a short lived token to access the Apache Iceberg tables. This token can be injected as an environment variable, to be used with Trino, Spark, Flink or your favorite query engine that supports Apache Iceberg.
+
+Default Connection IDs
+----------------------
+
+Tabular Hook uses the parameter ``tabular_conn_id`` for Connection IDs and the value of the parameter as ``tabular_default`` by default. You can create multiple connections in case you want to switch between environments.
+
+Configuring the Connection
+--------------------------
+Client ID
+    The Client ID from Tabular
+
+Client Secret
+    The Client Secret from Tabular
+
+Host
+    Sets the URL to the Tabular environment. By default `https://api.tabulardata.io/ws/v1`
diff --git a/docs/apache-airflow-providers-tabular/index.rst b/docs/apache-airflow-providers-tabular/index.rst
new file mode 100644
index 0000000000..554ed4a5d9
--- /dev/null
+++ b/docs/apache-airflow-providers-tabular/index.rst
@@ -0,0 +1,77 @@
+
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+``apache-airflow-providers-tabular``
+====================================
+
+Content
+-------
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Guides
+
+    Connection types <connections>
+
+.. toctree::
+    :hidden:
+    :caption: System tests
+
+    System Tests <_api/tests/system/providers/tabular/index>
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Resources
+
+    Example DAGs <https://github.com/apache/airflow/tree/providers-tabular/1.0.0/tests/system/providers/tabular>
+    PyPI Repository <https://pypi.org/project/apache-airflow-providers-tabular/>
+    Installing from sources <installing-providers-from-sources>
+    Python API <_api/airflow/providers/tabular/index>
+
+
+.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
+
+
+.. toctree::
+    :maxdepth: 1
+    :caption: Commits
+
+    Detailed list of commits <commits>
+
+
+Package apache-airflow-providers-tabular
+------------------------------------------------------
+
+`Tabular <https://tabular.io/>`__
+
+
+Release: 0.0.1
+
+Provider package
+----------------
+
+This is a provider package for ``tabular`` provider. All classes for this provider package
+are in ``airflow.providers.tabular`` python package.
+
+Installation
+------------
+
+You can install this package on top of an existing Airflow 2.1+ installation via
+``pip install apache-airflow-providers-tabular``
+
+.. include:: ../../airflow/providers/tabular/CHANGELOG.rst
diff --git a/docs/apache-airflow-providers-tabular/installing-providers-from-sources.rst b/docs/apache-airflow-providers-tabular/installing-providers-from-sources.rst
new file mode 100644
index 0000000000..1c90205d15
--- /dev/null
+++ b/docs/apache-airflow-providers-tabular/installing-providers-from-sources.rst
@@ -0,0 +1,18 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+.. include:: ../installing-providers-from-sources.rst
diff --git a/docs/apache-airflow/extra-packages-ref.rst b/docs/apache-airflow/extra-packages-ref.rst
index 188b9a02f9..0e7094ce17 100644
--- a/docs/apache-airflow/extra-packages-ref.rst
+++ b/docs/apache-airflow/extra-packages-ref.rst
@@ -200,6 +200,8 @@ These are extras that add dependencies needed for integration with external serv
 +---------------------+-----------------------------------------------------+-----------------------------------------------------+
 | tableau             | ``pip install 'apache-airflow[tableau]'``           | Tableau hooks and operators                         |
 +---------------------+-----------------------------------------------------+-----------------------------------------------------+
+| tabular             | ``pip install 'apache-airflow[tabular]'``           | Tabular hooks                                       |
++---------------------+-----------------------------------------------------+-----------------------------------------------------+
 | telegram            | ``pip install 'apache-airflow[telegram]'``          | Telegram hooks and operators                        |
 +---------------------+-----------------------------------------------------+-----------------------------------------------------+
 | vertica             | ``pip install 'apache-airflow[vertica]'``           | Vertica hook support as an Airflow backend          |
diff --git a/docs/integration-logos/tabular/tabular.jpeg b/docs/integration-logos/tabular/tabular.jpeg
new file mode 100644
index 0000000000..e5ef939fcc
Binary files /dev/null and b/docs/integration-logos/tabular/tabular.jpeg differ
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index df08668eec..7edcebaf4d 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -397,6 +397,7 @@ TCP
 TLS
 TTY
 TZ
+Tabular
 TaskDecorator
 TaskFlow
 TaskGroup
diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json
index 47ed7c83ee..e14ee8af71 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -631,6 +631,12 @@
     ],
     "cross-providers-deps": []
   },
+  "tabular": {
+    "deps": [
+      "apache-airflow>=2.2.0"
+    ],
+    "cross-providers-deps": []
+  },
   "telegram": {
     "deps": [
       "apache-airflow>=2.2.0",
diff --git a/images/breeze/output-build-docs.svg b/images/breeze/output-build-docs.svg
index 069d64d07e..50c566d055 100644
--- a/images/breeze/output-build-docs.svg
+++ b/images/breeze/output-build-docs.svg
@@ -19,265 +19,265 @@
         font-weight: 700;
     }
 
-    .terminal-3189088113-matrix {
+    .terminal-1768597619-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-3189088113-title {
+    .terminal-1768597619-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-3189088113-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-3189088113-r2 { fill: #c5c8c6 }
-.terminal-3189088113-r3 { fill: #d0b344;font-weight: bold }
-.terminal-3189088113-r4 { fill: #868887 }
-.terminal-3189088113-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-3189088113-r6 { fill: #98a84b;font-weight: bold }
-.terminal-3189088113-r7 { fill: #8d7b39 }
+    .terminal-1768597619-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-1768597619-r2 { fill: #c5c8c6 }
+.terminal-1768597619-r3 { fill: #d0b344;font-weight: bold }
+.terminal-1768597619-r4 { fill: #868887 }
+.terminal-1768597619-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-1768597619-r6 { fill: #98a84b;font-weight: bold }
+.terminal-1768597619-r7 { fill: #8d7b39 }
     </style>
 
     <defs>
-    <clipPath id="terminal-3189088113-clip-terminal">
+    <clipPath id="terminal-1768597619-clip-terminal">
       <rect x="0" y="0" width="1463.0" height="1365.3999999999999" />
     </clipPath>
-    <clipPath id="terminal-3189088113-line-0">
+    <clipPath id="terminal-1768597619-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-1">
+<clipPath id="terminal-1768597619-line-1">
     <rect x="0" y="25.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-2">
+<clipPath id="terminal-1768597619-line-2">
     <rect x="0" y="50.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-3">
+<clipPath id="terminal-1768597619-line-3">
     <rect x="0" y="74.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-4">
+<clipPath id="terminal-1768597619-line-4">
     <rect x="0" y="99.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-5">
+<clipPath id="terminal-1768597619-line-5">
     <rect x="0" y="123.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-6">
+<clipPath id="terminal-1768597619-line-6">
     <rect x="0" y="147.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-7">
+<clipPath id="terminal-1768597619-line-7">
     <rect x="0" y="172.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-8">
+<clipPath id="terminal-1768597619-line-8">
     <rect x="0" y="196.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-9">
+<clipPath id="terminal-1768597619-line-9">
     <rect x="0" y="221.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-10">
+<clipPath id="terminal-1768597619-line-10">
     <rect x="0" y="245.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-11">
+<clipPath id="terminal-1768597619-line-11">
     <rect x="0" y="269.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-12">
+<clipPath id="terminal-1768597619-line-12">
     <rect x="0" y="294.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-13">
+<clipPath id="terminal-1768597619-line-13">
     <rect x="0" y="318.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-14">
+<clipPath id="terminal-1768597619-line-14">
     <rect x="0" y="343.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-15">
+<clipPath id="terminal-1768597619-line-15">
     <rect x="0" y="367.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-16">
+<clipPath id="terminal-1768597619-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-17">
+<clipPath id="terminal-1768597619-line-17">
     <rect x="0" y="416.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-18">
+<clipPath id="terminal-1768597619-line-18">
     <rect x="0" y="440.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-19">
+<clipPath id="terminal-1768597619-line-19">
     <rect x="0" y="465.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-20">
+<clipPath id="terminal-1768597619-line-20">
     <rect x="0" y="489.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-21">
+<clipPath id="terminal-1768597619-line-21">
     <rect x="0" y="513.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-22">
+<clipPath id="terminal-1768597619-line-22">
     <rect x="0" y="538.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-23">
+<clipPath id="terminal-1768597619-line-23">
     <rect x="0" y="562.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-24">
+<clipPath id="terminal-1768597619-line-24">
     <rect x="0" y="587.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-25">
+<clipPath id="terminal-1768597619-line-25">
     <rect x="0" y="611.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-26">
+<clipPath id="terminal-1768597619-line-26">
     <rect x="0" y="635.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-27">
+<clipPath id="terminal-1768597619-line-27">
     <rect x="0" y="660.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-28">
+<clipPath id="terminal-1768597619-line-28">
     <rect x="0" y="684.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-29">
+<clipPath id="terminal-1768597619-line-29">
     <rect x="0" y="709.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-30">
+<clipPath id="terminal-1768597619-line-30">
     <rect x="0" y="733.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-31">
+<clipPath id="terminal-1768597619-line-31">
     <rect x="0" y="757.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-32">
+<clipPath id="terminal-1768597619-line-32">
     <rect x="0" y="782.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-33">
+<clipPath id="terminal-1768597619-line-33">
     <rect x="0" y="806.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-34">
+<clipPath id="terminal-1768597619-line-34">
     <rect x="0" y="831.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-35">
+<clipPath id="terminal-1768597619-line-35">
     <rect x="0" y="855.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-36">
+<clipPath id="terminal-1768597619-line-36">
     <rect x="0" y="879.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-37">
+<clipPath id="terminal-1768597619-line-37">
     <rect x="0" y="904.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-38">
+<clipPath id="terminal-1768597619-line-38">
     <rect x="0" y="928.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-39">
+<clipPath id="terminal-1768597619-line-39">
     <rect x="0" y="953.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-40">
+<clipPath id="terminal-1768597619-line-40">
     <rect x="0" y="977.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-41">
+<clipPath id="terminal-1768597619-line-41">
     <rect x="0" y="1001.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-42">
+<clipPath id="terminal-1768597619-line-42">
     <rect x="0" y="1026.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-43">
+<clipPath id="terminal-1768597619-line-43">
     <rect x="0" y="1050.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-44">
+<clipPath id="terminal-1768597619-line-44">
     <rect x="0" y="1075.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-45">
+<clipPath id="terminal-1768597619-line-45">
     <rect x="0" y="1099.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-46">
+<clipPath id="terminal-1768597619-line-46">
     <rect x="0" y="1123.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-47">
+<clipPath id="terminal-1768597619-line-47">
     <rect x="0" y="1148.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-48">
+<clipPath id="terminal-1768597619-line-48">
     <rect x="0" y="1172.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-49">
+<clipPath id="terminal-1768597619-line-49">
     <rect x="0" y="1197.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-50">
+<clipPath id="terminal-1768597619-line-50">
     <rect x="0" y="1221.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-51">
+<clipPath id="terminal-1768597619-line-51">
     <rect x="0" y="1245.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-52">
+<clipPath id="terminal-1768597619-line-52">
     <rect x="0" y="1270.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-53">
+<clipPath id="terminal-1768597619-line-53">
     <rect x="0" y="1294.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3189088113-line-54">
+<clipPath id="terminal-1768597619-line-54">
     <rect x="0" y="1319.1" width="1464" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1414.4" rx="8"/><text class="terminal-3189088113-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;build-docs</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1414.4" rx="8"/><text class="terminal-1768597619-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;build-docs</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-3189088113-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-1768597619-clip-terminal)">
     
-    <g class="terminal-3189088113-matrix">
-    <text class="terminal-3189088113-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3189088113-line-0)">
-</text><text class="terminal-3189088113-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3189088113-line-1)">Usage:&#160;</text><text class="terminal-3189088113-r1" x="97.6" y="44.4" textLength="329.4" clip-path="url(#terminal-3189088113-line-1)">breeze&#160;build-docs&#160;[OPTIONS]</text><text class="terminal-3189088113-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-1)">
-</text><text class="terminal-3189088113-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-2)">
-</text><text class="terminal-3189088113-r2" x="12.2" y="93.2" textLength="451.4" clip-path="url(#terminal-3189088113-line-3)">Build&#160;documentation&#160;in&#160;the&#160;container.</text><text class="terminal-3189088113-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-3)">
-</text><text class="terminal-3189088113-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-4)">
-</text><text class="terminal-3189088113-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-3189088113-line-5)">╭─</text><text class="terminal-3189088113-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-3189088113-line-5)">&#160;Doc&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3189088113-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-318908 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-6)">│</text><text class="terminal-3189088113-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-6)">-</text><text class="terminal-3189088113-r5" x="36.6" y="166.4" textLength="61" clip-path="url(#terminal-3189088113-line-6)">-docs</text><text class="terminal-3189088113-r5" x="97.6" y="166.4" textLength="61" clip-path="url(#terminal-31890881 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-7)">│</text><text class="terminal-3189088113-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-7)">-</text><text class="terminal-3189088113-r5" x="36.6" y="190.8" textLength="134.2" clip-path="url(#terminal-3189088113-line-7)">-spellcheck</text><text class="terminal-3189088113-r5" x="170.8" y="190.8" textLength="61" clip-path="url(#termina [...]
-</text><text class="terminal-3189088113-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-8)">│</text><text class="terminal-3189088113-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-8)">-</text><text class="terminal-3189088113-r5" x="36.6" y="215.2" textLength="48.8" clip-path="url(#terminal-3189088113-line-8)">-for</text><text class="terminal-3189088113-r5" x="85.4" y="215.2" textLength="134.2" clip-path="url(#terminal-3189 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-9)">│</text><text class="terminal-3189088113-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-9)">-</text><text class="terminal-3189088113-r5" x="36.6" y="239.6" textLength="97.6" clip-path="url(#terminal-3189088113-line-9)">-package</text><text class="terminal-3189088113-r5" x="134.2" y="239.6" textLength="85.4" clip-path="url(#terminal- [...]
-</text><text class="terminal-3189088113-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-3189088113-line-10)">│</text><text class="terminal-3189088113-r7" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-3189088113-line-10)">(apache-airflow&#160;|&#160;apache-airflow-providers&#160;|&#160;apache-airflow-providers-airbyte&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8"  [...]
-</text><text class="terminal-3189088113-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-11)">│</text><text class="terminal-3189088113-r7" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-11)">apache-airflow-providers-alibaba&#160;|&#160;apache-airflow-providers-amazon&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
-</text><text class="terminal-3189088113-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-12)">│</text><text class="terminal-3189088113-r7" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-12)">apache-airflow-providers-apache-beam&#160;|&#160;apache-airflow-providers-apache-cassandra&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="312.8" textLength= [...]
-</text><text class="terminal-3189088113-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-13)">│</text><text class="terminal-3189088113-r7" x="305" y="337.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-13)">apache-airflow-providers-apache-drill&#160;|&#160;apache-airflow-providers-apache-druid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="337 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-14)">│</text><text class="terminal-3189088113-r7" x="305" y="361.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-14)">apache-airflow-providers-apache-hdfs&#160;|&#160;apache-airflow-providers-apache-hive&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-3189088113-line-15)">│</text><text class="terminal-3189088113-r7" x="305" y="386" textLength="1134.6" clip-path="url(#terminal-3189088113-line-15)">apache-airflow-providers-apache-kylin&#160;|&#160;apache-airflow-providers-apache-livy&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="38 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-16)">│</text><text class="terminal-3189088113-r7" x="305" y="410.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-16)">apache-airflow-providers-apache-pig&#160;|&#160;apache-airflow-providers-apache-pinot&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-17)">│</text><text class="terminal-3189088113-r7" x="305" y="434.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-17)">apache-airflow-providers-apache-spark&#160;|&#160;apache-airflow-providers-apache-sqoop&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="434 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-18)">│</text><text class="terminal-3189088113-r7" x="305" y="459.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-18)">apache-airflow-providers-arangodb&#160;|&#160;apache-airflow-providers-asana&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
-</text><text class="terminal-3189088113-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-19)">│</text><text class="terminal-3189088113-r7" x="305" y="483.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-19)">apache-airflow-providers-celery&#160;|&#160;apache-airflow-providers-cloudant&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><tex [...]
-</text><text class="terminal-3189088113-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-3189088113-line-20)">│</text><text class="terminal-3189088113-r7" x="305" y="508" textLength="1134.6" clip-path="url(#terminal-3189088113-line-20)">apache-airflow-providers-cncf-kubernetes&#160;|&#160;apache-airflow-providers-core-sql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="50 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-21)">│</text><text class="terminal-3189088113-r7" x="305" y="532.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-21)">apache-airflow-providers-databricks&#160;|&#160;apache-airflow-providers-datadog&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termin [...]
-</text><text class="terminal-3189088113-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-22)">│</text><text class="terminal-3189088113-r7" x="305" y="556.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-22)">apache-airflow-providers-dbt-cloud&#160;|&#160;apache-airflow-providers-dingding&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termin [...]
-</text><text class="terminal-3189088113-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-23)">│</text><text class="terminal-3189088113-r7" x="305" y="581.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-23)">apache-airflow-providers-discord&#160;|&#160;apache-airflow-providers-docker&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
-</text><text class="terminal-3189088113-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-24)">│</text><text class="terminal-3189088113-r7" x="305" y="605.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-24)">apache-airflow-providers-elasticsearch&#160;|&#160;apache-airflow-providers-exasol&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-3189088113-line-25)">│</text><text class="terminal-3189088113-r7" x="305" y="630" textLength="1134.6" clip-path="url(#terminal-3189088113-line-25)">apache-airflow-providers-facebook&#160;|&#160;apache-airflow-providers-ftp&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="terminal-3189088113-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-26)">│</text><text class="terminal-3189088113-r7" x="305" y="654.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-26)">apache-airflow-providers-github&#160;|&#160;apache-airflow-providers-google&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;< [...]
-</text><text class="terminal-3189088113-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-27)">│</text><text class="terminal-3189088113-r7" x="305" y="678.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-27)">apache-airflow-providers-grpc&#160;|&#160;apache-airflow-providers-hashicorp&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
-</text><text class="terminal-3189088113-r4" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-28)">│</text><text class="terminal-3189088113-r7" x="305" y="703.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-28)">apache-airflow-providers-http&#160;|&#160;apache-airflow-providers-imap&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-29)">│</text><text class="terminal-3189088113-r7" x="305" y="727.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-29)">apache-airflow-providers-influxdb&#160;|&#160;apache-airflow-providers-jdbc&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;< [...]
-</text><text class="terminal-3189088113-r4" x="0" y="752" textLength="12.2" clip-path="url(#terminal-3189088113-line-30)">│</text><text class="terminal-3189088113-r7" x="305" y="752" textLength="1134.6" clip-path="url(#terminal-3189088113-line-30)">apache-airflow-providers-jenkins&#160;|&#160;apache-airflow-providers-jira&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="terminal-3189088113-r4" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-31)">│</text><text class="terminal-3189088113-r7" x="305" y="776.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-31)">apache-airflow-providers-microsoft-azure&#160;|&#160;apache-airflow-providers-microsoft-mssql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="776.4" textLength="12.2" clip-pat [...]
-</text><text class="terminal-3189088113-r4" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-32)">│</text><text class="terminal-3189088113-r7" x="305" y="800.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-32)">apache-airflow-providers-microsoft-psrp&#160;|&#160;apache-airflow-providers-microsoft-winrm&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="800.8" textLength="12.2" cli [...]
-</text><text class="terminal-3189088113-r4" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-33)">│</text><text class="terminal-3189088113-r7" x="305" y="825.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-33)">apache-airflow-providers-mongo&#160;|&#160;apache-airflow-providers-mysql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="849.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-34)">│</text><text class="terminal-3189088113-r7" x="305" y="849.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-34)">apache-airflow-providers-neo4j&#160;|&#160;apache-airflow-providers-odbc&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="874" textLength="12.2" clip-path="url(#terminal-3189088113-line-35)">│</text><text class="terminal-3189088113-r7" x="305" y="874" textLength="1134.6" clip-path="url(#terminal-3189088113-line-35)">apache-airflow-providers-openfaas&#160;|&#160;apache-airflow-providers-opsgenie&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termi [...]
-</text><text class="terminal-3189088113-r4" x="0" y="898.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-36)">│</text><text class="terminal-3189088113-r7" x="305" y="898.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-36)">apache-airflow-providers-oracle&#160;|&#160;apache-airflow-providers-pagerduty&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text cla [...]
-</text><text class="terminal-3189088113-r4" x="0" y="922.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-37)">│</text><text class="terminal-3189088113-r7" x="305" y="922.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-37)">apache-airflow-providers-papermill&#160;|&#160;apache-airflow-providers-plexus&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text cla [...]
-</text><text class="terminal-3189088113-r4" x="0" y="947.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-38)">│</text><text class="terminal-3189088113-r7" x="305" y="947.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-38)">apache-airflow-providers-postgres&#160;|&#160;apache-airflow-providers-presto&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><tex [...]
-</text><text class="terminal-3189088113-r4" x="0" y="971.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-39)">│</text><text class="terminal-3189088113-r7" x="305" y="971.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-39)">apache-airflow-providers-qubole&#160;|&#160;apache-airflow-providers-redis&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="terminal-3189088113-r4" x="0" y="996" textLength="12.2" clip-path="url(#terminal-3189088113-line-40)">│</text><text class="terminal-3189088113-r7" x="305" y="996" textLength="1134.6" clip-path="url(#terminal-3189088113-line-40)">apache-airflow-providers-salesforce&#160;|&#160;apache-airflow-providers-samba&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class=" [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1020.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-41)">│</text><text class="terminal-3189088113-r7" x="305" y="1020.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-41)">apache-airflow-providers-segment&#160;|&#160;apache-airflow-providers-sendgrid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text c [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1044.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-42)">│</text><text class="terminal-3189088113-r7" x="305" y="1044.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-42)">apache-airflow-providers-sftp&#160;|&#160;apache-airflow-providers-singularity&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text c [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1069.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-43)">│</text><text class="terminal-3189088113-r7" x="305" y="1069.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-43)">apache-airflow-providers-slack&#160;|&#160;apache-airflow-providers-snowflake&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><t [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1093.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-44)">│</text><text class="terminal-3189088113-r7" x="305" y="1093.6" textLength="1134.6" clip-path="url(#terminal-3189088113-line-44)">apache-airflow-providers-sqlite&#160;|&#160;apache-airflow-providers-ssh&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1118" textLength="12.2" clip-path="url(#terminal-3189088113-line-45)">│</text><text class="terminal-3189088113-r7" x="305" y="1118" textLength="1134.6" clip-path="url(#terminal-3189088113-line-45)">apache-airflow-providers-tableau&#160;|&#160;apache-airflow-providers-telegram&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1142.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-46)">│</text><text class="terminal-3189088113-r7" x="305" y="1142.4" textLength="1134.6" clip-path="url(#terminal-3189088113-line-46)">apache-airflow-providers-trino&#160;|&#160;apache-airflow-providers-vertica&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1166.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-47)">│</text><text class="terminal-3189088113-r7" x="305" y="1166.8" textLength="1134.6" clip-path="url(#terminal-3189088113-line-47)">apache-airflow-providers-yandex&#160;|&#160;apache-airflow-providers-zendesk&#160;|&#160;docker-stack&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-3189088113-r4" x="1451.8" y="1166.8" tex [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1191.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-48)">│</text><text class="terminal-3189088113-r7" x="305" y="1191.2" textLength="1134.6" clip-path="url(#terminal-3189088113-line-48)">helm-chart)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1215.6" textLength="1464" clip-path="url(#terminal-3189088113-line-49)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3189088113-r2" x="1464" y="1215.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-49)">
-</text><text class="terminal-3189088113-r4" x="0" y="1240" textLength="24.4" clip-path="url(#terminal-3189088113-line-50)">╭─</text><text class="terminal-3189088113-r4" x="24.4" y="1240" textLength="1415.2" clip-path="url(#terminal-3189088113-line-50)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3189088113-r4" x="1439.6" y="1240" textLength="24.4" clip-path="url(#terminal-318908 [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1264.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-51)">│</text><text class="terminal-3189088113-r5" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#terminal-3189088113-line-51)">-</text><text class="terminal-3189088113-r5" x="36.6" y="1264.4" textLength="97.6" clip-path="url(#terminal-3189088113-line-51)">-verbose</text><text class="terminal-3189088113-r6" x="280.6" y="1264.4" textLength="24.4" clip-path="url(#te [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1288.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-52)">│</text><text class="terminal-3189088113-r5" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#terminal-3189088113-line-52)">-</text><text class="terminal-3189088113-r5" x="36.6" y="1288.8" textLength="48.8" clip-path="url(#terminal-3189088113-line-52)">-dry</text><text class="terminal-3189088113-r5" x="85.4" y="1288.8" textLength="48.8" clip-path="url(#termina [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1313.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-53)">│</text><text class="terminal-3189088113-r5" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#terminal-3189088113-line-53)">-</text><text class="terminal-3189088113-r5" x="36.6" y="1313.2" textLength="85.4" clip-path="url(#terminal-3189088113-line-53)">-github</text><text class="terminal-3189088113-r5" x="122" y="1313.2" textLength="134.2" clip-path="url(#term [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1337.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-54)">│</text><text class="terminal-3189088113-r5" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#terminal-3189088113-line-54)">-</text><text class="terminal-3189088113-r5" x="36.6" y="1337.6" textLength="61" clip-path="url(#terminal-3189088113-line-54)">-help</text><text class="terminal-3189088113-r6" x="280.6" y="1337.6" textLength="24.4" clip-path="url(#termina [...]
-</text><text class="terminal-3189088113-r4" x="0" y="1362" textLength="1464" clip-path="url(#terminal-3189088113-line-55)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3189088113-r2" x="1464" y="1362" textLength="12.2" clip-path="url(#terminal-3189088113-line-55)">
+    <g class="terminal-1768597619-matrix">
+    <text class="terminal-1768597619-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1768597619-line-0)">
+</text><text class="terminal-1768597619-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-1768597619-line-1)">Usage:&#160;</text><text class="terminal-1768597619-r1" x="97.6" y="44.4" textLength="329.4" clip-path="url(#terminal-1768597619-line-1)">breeze&#160;build-docs&#160;[OPTIONS]</text><text class="terminal-1768597619-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-1)">
+</text><text class="terminal-1768597619-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-2)">
+</text><text class="terminal-1768597619-r2" x="12.2" y="93.2" textLength="451.4" clip-path="url(#terminal-1768597619-line-3)">Build&#160;documentation&#160;in&#160;the&#160;container.</text><text class="terminal-1768597619-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-3)">
+</text><text class="terminal-1768597619-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-4)">
+</text><text class="terminal-1768597619-r4" x="0" y="142" textLength="24.4" clip-path="url(#terminal-1768597619-line-5)">╭─</text><text class="terminal-1768597619-r4" x="24.4" y="142" textLength="1415.2" clip-path="url(#terminal-1768597619-line-5)">&#160;Doc&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1768597619-r4" x="1439.6" y="142" textLength="24.4" clip-path="url(#terminal-176859 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-6)">│</text><text class="terminal-1768597619-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-6)">-</text><text class="terminal-1768597619-r5" x="36.6" y="166.4" textLength="61" clip-path="url(#terminal-1768597619-line-6)">-docs</text><text class="terminal-1768597619-r5" x="97.6" y="166.4" textLength="61" clip-path="url(#terminal-17685976 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-7)">│</text><text class="terminal-1768597619-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-7)">-</text><text class="terminal-1768597619-r5" x="36.6" y="190.8" textLength="134.2" clip-path="url(#terminal-1768597619-line-7)">-spellcheck</text><text class="terminal-1768597619-r5" x="170.8" y="190.8" textLength="61" clip-path="url(#termina [...]
+</text><text class="terminal-1768597619-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-8)">│</text><text class="terminal-1768597619-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-8)">-</text><text class="terminal-1768597619-r5" x="36.6" y="215.2" textLength="48.8" clip-path="url(#terminal-1768597619-line-8)">-for</text><text class="terminal-1768597619-r5" x="85.4" y="215.2" textLength="134.2" clip-path="url(#terminal-1768 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-9)">│</text><text class="terminal-1768597619-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-9)">-</text><text class="terminal-1768597619-r5" x="36.6" y="239.6" textLength="97.6" clip-path="url(#terminal-1768597619-line-9)">-package</text><text class="terminal-1768597619-r5" x="134.2" y="239.6" textLength="85.4" clip-path="url(#terminal- [...]
+</text><text class="terminal-1768597619-r4" x="0" y="264" textLength="12.2" clip-path="url(#terminal-1768597619-line-10)">│</text><text class="terminal-1768597619-r7" x="305" y="264" textLength="1134.6" clip-path="url(#terminal-1768597619-line-10)">(apache-airflow&#160;|&#160;apache-airflow-providers&#160;|&#160;apache-airflow-providers-airbyte&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8"  [...]
+</text><text class="terminal-1768597619-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-11)">│</text><text class="terminal-1768597619-r7" x="305" y="288.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-11)">apache-airflow-providers-alibaba&#160;|&#160;apache-airflow-providers-amazon&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
+</text><text class="terminal-1768597619-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-12)">│</text><text class="terminal-1768597619-r7" x="305" y="312.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-12)">apache-airflow-providers-apache-beam&#160;|&#160;apache-airflow-providers-apache-cassandra&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="312.8" textLength= [...]
+</text><text class="terminal-1768597619-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-13)">│</text><text class="terminal-1768597619-r7" x="305" y="337.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-13)">apache-airflow-providers-apache-drill&#160;|&#160;apache-airflow-providers-apache-druid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="337 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-14)">│</text><text class="terminal-1768597619-r7" x="305" y="361.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-14)">apache-airflow-providers-apache-hdfs&#160;|&#160;apache-airflow-providers-apache-hive&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="386" textLength="12.2" clip-path="url(#terminal-1768597619-line-15)">│</text><text class="terminal-1768597619-r7" x="305" y="386" textLength="1134.6" clip-path="url(#terminal-1768597619-line-15)">apache-airflow-providers-apache-kylin&#160;|&#160;apache-airflow-providers-apache-livy&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="38 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-16)">│</text><text class="terminal-1768597619-r7" x="305" y="410.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-16)">apache-airflow-providers-apache-pig&#160;|&#160;apache-airflow-providers-apache-pinot&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-17)">│</text><text class="terminal-1768597619-r7" x="305" y="434.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-17)">apache-airflow-providers-apache-spark&#160;|&#160;apache-airflow-providers-apache-sqoop&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="434 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-18)">│</text><text class="terminal-1768597619-r7" x="305" y="459.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-18)">apache-airflow-providers-arangodb&#160;|&#160;apache-airflow-providers-asana&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
+</text><text class="terminal-1768597619-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-19)">│</text><text class="terminal-1768597619-r7" x="305" y="483.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-19)">apache-airflow-providers-celery&#160;|&#160;apache-airflow-providers-cloudant&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><tex [...]
+</text><text class="terminal-1768597619-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-1768597619-line-20)">│</text><text class="terminal-1768597619-r7" x="305" y="508" textLength="1134.6" clip-path="url(#terminal-1768597619-line-20)">apache-airflow-providers-cncf-kubernetes&#160;|&#160;apache-airflow-providers-core-sql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="50 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-21)">│</text><text class="terminal-1768597619-r7" x="305" y="532.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-21)">apache-airflow-providers-databricks&#160;|&#160;apache-airflow-providers-datadog&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termin [...]
+</text><text class="terminal-1768597619-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-22)">│</text><text class="terminal-1768597619-r7" x="305" y="556.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-22)">apache-airflow-providers-dbt-cloud&#160;|&#160;apache-airflow-providers-dingding&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termin [...]
+</text><text class="terminal-1768597619-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-23)">│</text><text class="terminal-1768597619-r7" x="305" y="581.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-23)">apache-airflow-providers-discord&#160;|&#160;apache-airflow-providers-docker&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
+</text><text class="terminal-1768597619-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-24)">│</text><text class="terminal-1768597619-r7" x="305" y="605.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-24)">apache-airflow-providers-elasticsearch&#160;|&#160;apache-airflow-providers-exasol&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-1768597619-line-25)">│</text><text class="terminal-1768597619-r7" x="305" y="630" textLength="1134.6" clip-path="url(#terminal-1768597619-line-25)">apache-airflow-providers-facebook&#160;|&#160;apache-airflow-providers-ftp&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="terminal-1768597619-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-26)">│</text><text class="terminal-1768597619-r7" x="305" y="654.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-26)">apache-airflow-providers-github&#160;|&#160;apache-airflow-providers-google&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;< [...]
+</text><text class="terminal-1768597619-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-27)">│</text><text class="terminal-1768597619-r7" x="305" y="678.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-27)">apache-airflow-providers-grpc&#160;|&#160;apache-airflow-providers-hashicorp&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text [...]
+</text><text class="terminal-1768597619-r4" x="0" y="703.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-28)">│</text><text class="terminal-1768597619-r7" x="305" y="703.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-28)">apache-airflow-providers-http&#160;|&#160;apache-airflow-providers-imap&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="727.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-29)">│</text><text class="terminal-1768597619-r7" x="305" y="727.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-29)">apache-airflow-providers-influxdb&#160;|&#160;apache-airflow-providers-jdbc&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;< [...]
+</text><text class="terminal-1768597619-r4" x="0" y="752" textLength="12.2" clip-path="url(#terminal-1768597619-line-30)">│</text><text class="terminal-1768597619-r7" x="305" y="752" textLength="1134.6" clip-path="url(#terminal-1768597619-line-30)">apache-airflow-providers-jenkins&#160;|&#160;apache-airflow-providers-jira&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="terminal-1768597619-r4" x="0" y="776.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-31)">│</text><text class="terminal-1768597619-r7" x="305" y="776.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-31)">apache-airflow-providers-microsoft-azure&#160;|&#160;apache-airflow-providers-microsoft-mssql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="776.4" textLength="12.2" clip-pat [...]
+</text><text class="terminal-1768597619-r4" x="0" y="800.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-32)">│</text><text class="terminal-1768597619-r7" x="305" y="800.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-32)">apache-airflow-providers-microsoft-psrp&#160;|&#160;apache-airflow-providers-microsoft-winrm&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1768597619-r4" x="1451.8" y="800.8" textLength="12.2" cli [...]
+</text><text class="terminal-1768597619-r4" x="0" y="825.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-33)">│</text><text class="terminal-1768597619-r7" x="305" y="825.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-33)">apache-airflow-providers-mongo&#160;|&#160;apache-airflow-providers-mysql&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="849.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-34)">│</text><text class="terminal-1768597619-r7" x="305" y="849.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-34)">apache-airflow-providers-neo4j&#160;|&#160;apache-airflow-providers-odbc&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="874" textLength="12.2" clip-path="url(#terminal-1768597619-line-35)">│</text><text class="terminal-1768597619-r7" x="305" y="874" textLength="1134.6" clip-path="url(#terminal-1768597619-line-35)">apache-airflow-providers-openfaas&#160;|&#160;apache-airflow-providers-opsgenie&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="termi [...]
+</text><text class="terminal-1768597619-r4" x="0" y="898.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-36)">│</text><text class="terminal-1768597619-r7" x="305" y="898.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-36)">apache-airflow-providers-oracle&#160;|&#160;apache-airflow-providers-pagerduty&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text cla [...]
+</text><text class="terminal-1768597619-r4" x="0" y="922.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-37)">│</text><text class="terminal-1768597619-r7" x="305" y="922.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-37)">apache-airflow-providers-papermill&#160;|&#160;apache-airflow-providers-plexus&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text cla [...]
+</text><text class="terminal-1768597619-r4" x="0" y="947.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-38)">│</text><text class="terminal-1768597619-r7" x="305" y="947.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-38)">apache-airflow-providers-postgres&#160;|&#160;apache-airflow-providers-presto&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><tex [...]
+</text><text class="terminal-1768597619-r4" x="0" y="971.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-39)">│</text><text class="terminal-1768597619-r7" x="305" y="971.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-39)">apache-airflow-providers-qubole&#160;|&#160;apache-airflow-providers-redis&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="terminal-1768597619-r4" x="0" y="996" textLength="12.2" clip-path="url(#terminal-1768597619-line-40)">│</text><text class="terminal-1768597619-r7" x="305" y="996" textLength="1134.6" clip-path="url(#terminal-1768597619-line-40)">apache-airflow-providers-salesforce&#160;|&#160;apache-airflow-providers-samba&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class=" [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1020.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-41)">│</text><text class="terminal-1768597619-r7" x="305" y="1020.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-41)">apache-airflow-providers-segment&#160;|&#160;apache-airflow-providers-sendgrid&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text c [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1044.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-42)">│</text><text class="terminal-1768597619-r7" x="305" y="1044.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-42)">apache-airflow-providers-sftp&#160;|&#160;apache-airflow-providers-singularity&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text c [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1069.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-43)">│</text><text class="terminal-1768597619-r7" x="305" y="1069.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-43)">apache-airflow-providers-slack&#160;|&#160;apache-airflow-providers-snowflake&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><t [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1093.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-44)">│</text><text class="terminal-1768597619-r7" x="305" y="1093.6" textLength="1134.6" clip-path="url(#terminal-1768597619-line-44)">apache-airflow-providers-sqlite&#160;|&#160;apache-airflow-providers-ssh&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1118" textLength="12.2" clip-path="url(#terminal-1768597619-line-45)">│</text><text class="terminal-1768597619-r7" x="305" y="1118" textLength="1134.6" clip-path="url(#terminal-1768597619-line-45)">apache-airflow-providers-tableau&#160;|&#160;apache-airflow-providers-tabular&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text  [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1142.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-46)">│</text><text class="terminal-1768597619-r7" x="305" y="1142.4" textLength="1134.6" clip-path="url(#terminal-1768597619-line-46)">apache-airflow-providers-telegram&#160;|&#160;apache-airflow-providers-trino&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</te [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1166.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-47)">│</text><text class="terminal-1768597619-r7" x="305" y="1166.8" textLength="1134.6" clip-path="url(#terminal-1768597619-line-47)">apache-airflow-providers-vertica&#160;|&#160;apache-airflow-providers-yandex&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</te [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1191.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-48)">│</text><text class="terminal-1768597619-r7" x="305" y="1191.2" textLength="1134.6" clip-path="url(#terminal-1768597619-line-48)">apache-airflow-providers-zendesk&#160;|&#160;docker-stack&#160;|&#160;helm-chart)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1215.6" textLength="1464" clip-path="url(#terminal-1768597619-line-49)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1768597619-r2" x="1464" y="1215.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-49)">
+</text><text class="terminal-1768597619-r4" x="0" y="1240" textLength="24.4" clip-path="url(#terminal-1768597619-line-50)">╭─</text><text class="terminal-1768597619-r4" x="24.4" y="1240" textLength="1415.2" clip-path="url(#terminal-1768597619-line-50)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1768597619-r4" x="1439.6" y="1240" textLength="24.4" clip-path="url(#terminal-176859 [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1264.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-51)">│</text><text class="terminal-1768597619-r5" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#terminal-1768597619-line-51)">-</text><text class="terminal-1768597619-r5" x="36.6" y="1264.4" textLength="97.6" clip-path="url(#terminal-1768597619-line-51)">-verbose</text><text class="terminal-1768597619-r6" x="280.6" y="1264.4" textLength="24.4" clip-path="url(#te [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1288.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-52)">│</text><text class="terminal-1768597619-r5" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#terminal-1768597619-line-52)">-</text><text class="terminal-1768597619-r5" x="36.6" y="1288.8" textLength="48.8" clip-path="url(#terminal-1768597619-line-52)">-dry</text><text class="terminal-1768597619-r5" x="85.4" y="1288.8" textLength="48.8" clip-path="url(#termina [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1313.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-53)">│</text><text class="terminal-1768597619-r5" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#terminal-1768597619-line-53)">-</text><text class="terminal-1768597619-r5" x="36.6" y="1313.2" textLength="85.4" clip-path="url(#terminal-1768597619-line-53)">-github</text><text class="terminal-1768597619-r5" x="122" y="1313.2" textLength="134.2" clip-path="url(#term [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1337.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-54)">│</text><text class="terminal-1768597619-r5" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#terminal-1768597619-line-54)">-</text><text class="terminal-1768597619-r5" x="36.6" y="1337.6" textLength="61" clip-path="url(#terminal-1768597619-line-54)">-help</text><text class="terminal-1768597619-r6" x="280.6" y="1337.6" textLength="24.4" clip-path="url(#termina [...]
+</text><text class="terminal-1768597619-r4" x="0" y="1362" textLength="1464" clip-path="url(#terminal-1768597619-line-55)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1768597619-r2" x="1464" y="1362" textLength="12.2" clip-path="url(#terminal-1768597619-line-55)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt
index 1644cf708a..7b335b475d 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -3,7 +3,7 @@
 # Please do not solve it but run `breeze regenerate-command-images`.
 # This command should fix the conflict and regenerate help images that you have conflict with.
 main:fa4319079b275ce966502346f083f2e3
-build-docs:deaecc6bf5fa84153d30b2167e5ca404
+build-docs:39e674e357429ab1be7cc363cb793434
 build-image:b62509a59badf3aa230e4562df751002
 build-prod-image:1902ec077a6d70336de6038d13472ef3
 cleanup:9a94bd1063296ea86e895f671db0b330
@@ -16,8 +16,8 @@ fix-ownership:596143cc74217f0a90850a554220ea45
 free-space:bb8e7ac63d12ab3ede272a898de2f527
 generate-constraints:a5120e79439f30eb7fbee929dca23156
 prepare-airflow-package:cff9d88ca313db10f3cc464c6798f6be
-prepare-provider-documentation:08ffb712f527fd57748929ac220cb5df
-prepare-provider-packages:3a601458490ef2fab3421ed7b1c41d9f
+prepare-provider-documentation:95c864f8a656a95cac7d9c682cb75773
+prepare-provider-packages:33c0fe04ad4c6068b69ad1361b142057
 pull-image:a9bb83372b5da5212f48e2affeedc551
 pull-prod-image:6e8467a2b8c833a392c8bdd65189363e
 regenerate-command-images:4fd2e7ecbfd6eebb18b854f3eb0f29c8
diff --git a/images/breeze/output-prepare-provider-documentation.svg b/images/breeze/output-prepare-provider-documentation.svg
index de6e1e4925..6390fc20d9 100644
--- a/images/breeze/output-prepare-provider-documentation.svg
+++ b/images/breeze/output-prepare-provider-documentation.svg
@@ -19,149 +19,149 @@
         font-weight: 700;
     }
 
-    .terminal-3621068628-matrix {
+    .terminal-1998463419-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-3621068628-title {
+    .terminal-1998463419-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-3621068628-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-3621068628-r2 { fill: #c5c8c6 }
-.terminal-3621068628-r3 { fill: #d0b344;font-weight: bold }
-.terminal-3621068628-r4 { fill: #868887 }
-.terminal-3621068628-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-3621068628-r6 { fill: #98a84b;font-weight: bold }
-.terminal-3621068628-r7 { fill: #8d7b39 }
+    .terminal-1998463419-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-1998463419-r2 { fill: #c5c8c6 }
+.terminal-1998463419-r3 { fill: #d0b344;font-weight: bold }
+.terminal-1998463419-r4 { fill: #868887 }
+.terminal-1998463419-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-1998463419-r6 { fill: #98a84b;font-weight: bold }
+.terminal-1998463419-r7 { fill: #8d7b39 }
     </style>
 
     <defs>
-    <clipPath id="terminal-3621068628-clip-terminal">
+    <clipPath id="terminal-1998463419-clip-terminal">
       <rect x="0" y="0" width="1463.0" height="657.8" />
     </clipPath>
-    <clipPath id="terminal-3621068628-line-0">
+    <clipPath id="terminal-1998463419-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-1">
+<clipPath id="terminal-1998463419-line-1">
     <rect x="0" y="25.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-2">
+<clipPath id="terminal-1998463419-line-2">
     <rect x="0" y="50.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-3">
+<clipPath id="terminal-1998463419-line-3">
     <rect x="0" y="74.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-4">
+<clipPath id="terminal-1998463419-line-4">
     <rect x="0" y="99.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-5">
+<clipPath id="terminal-1998463419-line-5">
     <rect x="0" y="123.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-6">
+<clipPath id="terminal-1998463419-line-6">
     <rect x="0" y="147.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-7">
+<clipPath id="terminal-1998463419-line-7">
     <rect x="0" y="172.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-8">
+<clipPath id="terminal-1998463419-line-8">
     <rect x="0" y="196.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-9">
+<clipPath id="terminal-1998463419-line-9">
     <rect x="0" y="221.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-10">
+<clipPath id="terminal-1998463419-line-10">
     <rect x="0" y="245.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-11">
+<clipPath id="terminal-1998463419-line-11">
     <rect x="0" y="269.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-12">
+<clipPath id="terminal-1998463419-line-12">
     <rect x="0" y="294.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-13">
+<clipPath id="terminal-1998463419-line-13">
     <rect x="0" y="318.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-14">
+<clipPath id="terminal-1998463419-line-14">
     <rect x="0" y="343.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-15">
+<clipPath id="terminal-1998463419-line-15">
     <rect x="0" y="367.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-16">
+<clipPath id="terminal-1998463419-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-17">
+<clipPath id="terminal-1998463419-line-17">
     <rect x="0" y="416.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-18">
+<clipPath id="terminal-1998463419-line-18">
     <rect x="0" y="440.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-19">
+<clipPath id="terminal-1998463419-line-19">
     <rect x="0" y="465.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-20">
+<clipPath id="terminal-1998463419-line-20">
     <rect x="0" y="489.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-21">
+<clipPath id="terminal-1998463419-line-21">
     <rect x="0" y="513.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-22">
+<clipPath id="terminal-1998463419-line-22">
     <rect x="0" y="538.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-23">
+<clipPath id="terminal-1998463419-line-23">
     <rect x="0" y="562.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-24">
+<clipPath id="terminal-1998463419-line-24">
     <rect x="0" y="587.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3621068628-line-25">
+<clipPath id="terminal-1998463419-line-25">
     <rect x="0" y="611.5" width="1464" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="706.8" rx="8"/><text class="terminal-3621068628-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prepare-provider-documentation</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="706.8" rx="8"/><text class="terminal-1998463419-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prepare-provider-documentation</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-3621068628-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-1998463419-clip-terminal)">
     
-    <g class="terminal-3621068628-matrix">
-    <text class="terminal-3621068628-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3621068628-line-0)">
-</text><text class="terminal-3621068628-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3621068628-line-1)">Usage:&#160;</text><text class="terminal-3621068628-r1" x="97.6" y="44.4" textLength="1342" clip-path="url(#terminal-3621068628-line-1)">breeze&#160;prepare-provider-documentation&#160;[OPTIONS]&#160;[airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|</text><text class="terminal-3621068628-r2" x="1464" y="44.4 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="68.8" textLength="1427.4" clip-path="url(#terminal-3621068628-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.drill&#160;|&#160;apache.druid&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#1 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="93.2" textLength="1415.2" clip-path="url(#terminal-3621068628-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#16 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="117.6" textLength="1366.4" clip-path="url(#terminal-3621068628-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;arangodb&#160;|&#160;asana&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="142" textLength="1329.8" clip-path="url(#terminal-3621068628-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;databricks&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#1 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="166.4" textLength="1354.2" clip-path="url(#terminal-3621068628-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;elasticsearch&#160;|&#160;exasol&#160;|&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160; [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="190.8" textLength="1281" clip-path="url(#terminal-3621068628-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;hashicorp&#160;|&#160;http&#160;|&#160;imap&#160;|&#160;influxdb&#160;|&#160;jdbc&#160;|&#160;je [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="215.2" textLength="1403" clip-path="url(#terminal-3621068628-line-8)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;microsoft.azure&#160;|&#160;microsoft.mssql&#160;|&#160;microsoft.psrp&#160;|&#160;microsoft.win [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="239.6" textLength="1439.6" clip-path="url(#terminal-3621068628-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mongo&#160;|&#160;mysql&#160;|&#160;neo4j&#160;|&#160;odbc&#160;|&#160;openfaas&#160;|&#160;op [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="264" textLength="1403" clip-path="url(#terminal-3621068628-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;papermill&#160;|&#160;plexus&#160;|&#160;postgres&#160;|&#160;presto&#160;|&#160;qubole&#160;|&#1 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="288.4" textLength="1390.8" clip-path="url(#terminal-3621068628-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;samba&#160;|&#160;segment&#160;|&#160;sendgrid&#160;|&#160;sftp&#160;|&#160;singularity&#160; [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="312.8" textLength="1305.4" clip-path="url(#terminal-3621068628-line-12)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sqlite&#160;|&#160;ssh&#160;|&#160;tableau&#160;|&#160;telegram&#160;|&#160;trino&#160;|&#160 [...]
-</text><text class="terminal-3621068628-r1" x="12.2" y="337.2" textLength="683.2" clip-path="url(#terminal-3621068628-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;zendesk]...</text><text class="terminal-3621068628-r2" x="1464" y="337.2" textLength="12.2" cl [...]
-</text><text class="terminal-3621068628-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-3621068628-line-14)">
-</text><text class="terminal-3621068628-r2" x="12.2" y="386" textLength="780.8" clip-path="url(#terminal-3621068628-line-15)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.</text><text class="terminal-3621068628-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-3621068628-line-15)">
-</text><text class="terminal-3621068628-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-3621068628-line-16)">
-</text><text class="terminal-3621068628-r4" x="0" y="434.8" textLength="24.4" clip-path="url(#terminal-3621068628-line-17)">╭─</text><text class="terminal-3621068628-r4" x="24.4" y="434.8" textLength="1415.2" clip-path="url(#terminal-3621068628-line-17)">&#160;Provider&#160;documentation&#160;preparation&#160;flags&#160;──────────────────────────────────────────────────────────────────────────</text><text class="terminal-3621068628-r4" x="1439.6" y="434.8" textLength="24.4" clip-path="ur [...]
-</text><text class="terminal-3621068628-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3621068628-line-18)">│</text><text class="terminal-3621068628-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-3621068628-line-18)">-</text><text class="terminal-3621068628-r5" x="36.6" y="459.2" textLength="73.2" clip-path="url(#terminal-3621068628-line-18)">-debug</text><text class="terminal-3621068628-r2" x="158.6" y="459.2" textLength="878.4" clip-path="url(#termina [...]
-</text><text class="terminal-3621068628-r4" x="0" y="483.6" textLength="1464" clip-path="url(#terminal-3621068628-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3621068628-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-3621068628-line-19)">
-</text><text class="terminal-3621068628-r4" x="0" y="508" textLength="24.4" clip-path="url(#terminal-3621068628-line-20)">╭─</text><text class="terminal-3621068628-r4" x="24.4" y="508" textLength="1415.2" clip-path="url(#terminal-3621068628-line-20)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3621068628-r4" x="1439.6" y="508" textLength="24.4" clip-path="url(#terminal-362106862 [...]
-</text><text class="terminal-3621068628-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-3621068628-line-21)">│</text><text class="terminal-3621068628-r5" x="24.4" y="532.4" textLength="12.2" clip-path="url(#terminal-3621068628-line-21)">-</text><text class="terminal-3621068628-r5" x="36.6" y="532.4" textLength="97.6" clip-path="url(#terminal-3621068628-line-21)">-verbose</text><text class="terminal-3621068628-r6" x="280.6" y="532.4" textLength="24.4" clip-path="url(#termin [...]
-</text><text class="terminal-3621068628-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-3621068628-line-22)">│</text><text class="terminal-3621068628-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-3621068628-line-22)">-</text><text class="terminal-3621068628-r5" x="36.6" y="556.8" textLength="48.8" clip-path="url(#terminal-3621068628-line-22)">-dry</text><text class="terminal-3621068628-r5" x="85.4" y="556.8" textLength="48.8" clip-path="url(#terminal-36 [...]
-</text><text class="terminal-3621068628-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-3621068628-line-23)">│</text><text class="terminal-3621068628-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-3621068628-line-23)">-</text><text class="terminal-3621068628-r5" x="36.6" y="581.2" textLength="85.4" clip-path="url(#terminal-3621068628-line-23)">-github</text><text class="terminal-3621068628-r5" x="122" y="581.2" textLength="134.2" clip-path="url(#terminal [...]
-</text><text class="terminal-3621068628-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-3621068628-line-24)">│</text><text class="terminal-3621068628-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-3621068628-line-24)">-</text><text class="terminal-3621068628-r5" x="36.6" y="605.6" textLength="85.4" clip-path="url(#terminal-3621068628-line-24)">-answer</text><text class="terminal-3621068628-r6" x="280.6" y="605.6" textLength="24.4" clip-path="url(#termina [...]
-</text><text class="terminal-3621068628-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-3621068628-line-25)">│</text><text class="terminal-3621068628-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-3621068628-line-25)">-</text><text class="terminal-3621068628-r5" x="36.6" y="630" textLength="61" clip-path="url(#terminal-3621068628-line-25)">-help</text><text class="terminal-3621068628-r6" x="280.6" y="630" textLength="24.4" clip-path="url(#terminal-3621068628 [...]
-</text><text class="terminal-3621068628-r4" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-3621068628-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3621068628-r2" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-3621068628-line-26)">
+    <g class="terminal-1998463419-matrix">
+    <text class="terminal-1998463419-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1998463419-line-0)">
+</text><text class="terminal-1998463419-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-1998463419-line-1)">Usage:&#160;</text><text class="terminal-1998463419-r1" x="97.6" y="44.4" textLength="1342" clip-path="url(#terminal-1998463419-line-1)">breeze&#160;prepare-provider-documentation&#160;[OPTIONS]&#160;[airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|</text><text class="terminal-1998463419-r2" x="1464" y="44.4 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="68.8" textLength="1427.4" clip-path="url(#terminal-1998463419-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.drill&#160;|&#160;apache.druid&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#1 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="93.2" textLength="1415.2" clip-path="url(#terminal-1998463419-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#16 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="117.6" textLength="1366.4" clip-path="url(#terminal-1998463419-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;arangodb&#160;|&#160;asana&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="142" textLength="1329.8" clip-path="url(#terminal-1998463419-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;databricks&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#1 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="166.4" textLength="1354.2" clip-path="url(#terminal-1998463419-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;elasticsearch&#160;|&#160;exasol&#160;|&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160; [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="190.8" textLength="1281" clip-path="url(#terminal-1998463419-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;hashicorp&#160;|&#160;http&#160;|&#160;imap&#160;|&#160;influxdb&#160;|&#160;jdbc&#160;|&#160;je [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="215.2" textLength="1403" clip-path="url(#terminal-1998463419-line-8)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;microsoft.azure&#160;|&#160;microsoft.mssql&#160;|&#160;microsoft.psrp&#160;|&#160;microsoft.win [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="239.6" textLength="1439.6" clip-path="url(#terminal-1998463419-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mongo&#160;|&#160;mysql&#160;|&#160;neo4j&#160;|&#160;odbc&#160;|&#160;openfaas&#160;|&#160;op [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="264" textLength="1403" clip-path="url(#terminal-1998463419-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;papermill&#160;|&#160;plexus&#160;|&#160;postgres&#160;|&#160;presto&#160;|&#160;qubole&#160;|&#1 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="288.4" textLength="1390.8" clip-path="url(#terminal-1998463419-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;samba&#160;|&#160;segment&#160;|&#160;sendgrid&#160;|&#160;sftp&#160;|&#160;singularity&#160; [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="312.8" textLength="1427.4" clip-path="url(#terminal-1998463419-line-12)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sqlite&#160;|&#160;ssh&#160;|&#160;tableau&#160;|&#160;tabular&#160;|&#160;telegram&#160;|&#1 [...]
+</text><text class="terminal-1998463419-r1" x="12.2" y="337.2" textLength="683.2" clip-path="url(#terminal-1998463419-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;zendesk]...</text><text class="terminal-1998463419-r2" x="1464" y="337.2" textLength="12.2" cl [...]
+</text><text class="terminal-1998463419-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-1998463419-line-14)">
+</text><text class="terminal-1998463419-r2" x="12.2" y="386" textLength="780.8" clip-path="url(#terminal-1998463419-line-15)">Prepare&#160;CHANGELOG,&#160;README&#160;and&#160;COMMITS&#160;information&#160;for&#160;providers.</text><text class="terminal-1998463419-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-1998463419-line-15)">
+</text><text class="terminal-1998463419-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-1998463419-line-16)">
+</text><text class="terminal-1998463419-r4" x="0" y="434.8" textLength="24.4" clip-path="url(#terminal-1998463419-line-17)">╭─</text><text class="terminal-1998463419-r4" x="24.4" y="434.8" textLength="1415.2" clip-path="url(#terminal-1998463419-line-17)">&#160;Provider&#160;documentation&#160;preparation&#160;flags&#160;──────────────────────────────────────────────────────────────────────────</text><text class="terminal-1998463419-r4" x="1439.6" y="434.8" textLength="24.4" clip-path="ur [...]
+</text><text class="terminal-1998463419-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-1998463419-line-18)">│</text><text class="terminal-1998463419-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-1998463419-line-18)">-</text><text class="terminal-1998463419-r5" x="36.6" y="459.2" textLength="73.2" clip-path="url(#terminal-1998463419-line-18)">-debug</text><text class="terminal-1998463419-r2" x="158.6" y="459.2" textLength="878.4" clip-path="url(#termina [...]
+</text><text class="terminal-1998463419-r4" x="0" y="483.6" textLength="1464" clip-path="url(#terminal-1998463419-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1998463419-r2" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-1998463419-line-19)">
+</text><text class="terminal-1998463419-r4" x="0" y="508" textLength="24.4" clip-path="url(#terminal-1998463419-line-20)">╭─</text><text class="terminal-1998463419-r4" x="24.4" y="508" textLength="1415.2" clip-path="url(#terminal-1998463419-line-20)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-1998463419-r4" x="1439.6" y="508" textLength="24.4" clip-path="url(#terminal-199846341 [...]
+</text><text class="terminal-1998463419-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#terminal-1998463419-line-21)">│</text><text class="terminal-1998463419-r5" x="24.4" y="532.4" textLength="12.2" clip-path="url(#terminal-1998463419-line-21)">-</text><text class="terminal-1998463419-r5" x="36.6" y="532.4" textLength="97.6" clip-path="url(#terminal-1998463419-line-21)">-verbose</text><text class="terminal-1998463419-r6" x="280.6" y="532.4" textLength="24.4" clip-path="url(#termin [...]
+</text><text class="terminal-1998463419-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#terminal-1998463419-line-22)">│</text><text class="terminal-1998463419-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#terminal-1998463419-line-22)">-</text><text class="terminal-1998463419-r5" x="36.6" y="556.8" textLength="48.8" clip-path="url(#terminal-1998463419-line-22)">-dry</text><text class="terminal-1998463419-r5" x="85.4" y="556.8" textLength="48.8" clip-path="url(#terminal-19 [...]
+</text><text class="terminal-1998463419-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-1998463419-line-23)">│</text><text class="terminal-1998463419-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-1998463419-line-23)">-</text><text class="terminal-1998463419-r5" x="36.6" y="581.2" textLength="85.4" clip-path="url(#terminal-1998463419-line-23)">-github</text><text class="terminal-1998463419-r5" x="122" y="581.2" textLength="134.2" clip-path="url(#terminal [...]
+</text><text class="terminal-1998463419-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-1998463419-line-24)">│</text><text class="terminal-1998463419-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-1998463419-line-24)">-</text><text class="terminal-1998463419-r5" x="36.6" y="605.6" textLength="85.4" clip-path="url(#terminal-1998463419-line-24)">-answer</text><text class="terminal-1998463419-r6" x="280.6" y="605.6" textLength="24.4" clip-path="url(#termina [...]
+</text><text class="terminal-1998463419-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-1998463419-line-25)">│</text><text class="terminal-1998463419-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-1998463419-line-25)">-</text><text class="terminal-1998463419-r5" x="36.6" y="630" textLength="61" clip-path="url(#terminal-1998463419-line-25)">-help</text><text class="terminal-1998463419-r6" x="280.6" y="630" textLength="24.4" clip-path="url(#terminal-1998463419 [...]
+</text><text class="terminal-1998463419-r4" x="0" y="654.4" textLength="1464" clip-path="url(#terminal-1998463419-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1998463419-r2" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-1998463419-line-26)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output-prepare-provider-packages.svg b/images/breeze/output-prepare-provider-packages.svg
index 18a9bda713..fe0c1733cb 100644
--- a/images/breeze/output-prepare-provider-packages.svg
+++ b/images/breeze/output-prepare-provider-packages.svg
@@ -19,153 +19,153 @@
         font-weight: 700;
     }
 
-    .terminal-3886318936-matrix {
+    .terminal-3451094975-matrix {
         font-family: Fira Code, monospace;
         font-size: 20px;
         line-height: 24.4px;
         font-variant-east-asian: full-width;
     }
 
-    .terminal-3886318936-title {
+    .terminal-3451094975-title {
         font-size: 18px;
         font-weight: bold;
         font-family: arial;
     }
 
-    .terminal-3886318936-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-3886318936-r2 { fill: #c5c8c6 }
-.terminal-3886318936-r3 { fill: #d0b344;font-weight: bold }
-.terminal-3886318936-r4 { fill: #868887 }
-.terminal-3886318936-r5 { fill: #68a0b3;font-weight: bold }
-.terminal-3886318936-r6 { fill: #8d7b39 }
-.terminal-3886318936-r7 { fill: #98a84b;font-weight: bold }
+    .terminal-3451094975-r1 { fill: #c5c8c6;font-weight: bold }
+.terminal-3451094975-r2 { fill: #c5c8c6 }
+.terminal-3451094975-r3 { fill: #d0b344;font-weight: bold }
+.terminal-3451094975-r4 { fill: #868887 }
+.terminal-3451094975-r5 { fill: #68a0b3;font-weight: bold }
+.terminal-3451094975-r6 { fill: #8d7b39 }
+.terminal-3451094975-r7 { fill: #98a84b;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-3886318936-clip-terminal">
+    <clipPath id="terminal-3451094975-clip-terminal">
       <rect x="0" y="0" width="1463.0" height="682.1999999999999" />
     </clipPath>
-    <clipPath id="terminal-3886318936-line-0">
+    <clipPath id="terminal-3451094975-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-1">
+<clipPath id="terminal-3451094975-line-1">
     <rect x="0" y="25.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-2">
+<clipPath id="terminal-3451094975-line-2">
     <rect x="0" y="50.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-3">
+<clipPath id="terminal-3451094975-line-3">
     <rect x="0" y="74.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-4">
+<clipPath id="terminal-3451094975-line-4">
     <rect x="0" y="99.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-5">
+<clipPath id="terminal-3451094975-line-5">
     <rect x="0" y="123.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-6">
+<clipPath id="terminal-3451094975-line-6">
     <rect x="0" y="147.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-7">
+<clipPath id="terminal-3451094975-line-7">
     <rect x="0" y="172.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-8">
+<clipPath id="terminal-3451094975-line-8">
     <rect x="0" y="196.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-9">
+<clipPath id="terminal-3451094975-line-9">
     <rect x="0" y="221.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-10">
+<clipPath id="terminal-3451094975-line-10">
     <rect x="0" y="245.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-11">
+<clipPath id="terminal-3451094975-line-11">
     <rect x="0" y="269.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-12">
+<clipPath id="terminal-3451094975-line-12">
     <rect x="0" y="294.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-13">
+<clipPath id="terminal-3451094975-line-13">
     <rect x="0" y="318.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-14">
+<clipPath id="terminal-3451094975-line-14">
     <rect x="0" y="343.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-15">
+<clipPath id="terminal-3451094975-line-15">
     <rect x="0" y="367.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-16">
+<clipPath id="terminal-3451094975-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-17">
+<clipPath id="terminal-3451094975-line-17">
     <rect x="0" y="416.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-18">
+<clipPath id="terminal-3451094975-line-18">
     <rect x="0" y="440.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-19">
+<clipPath id="terminal-3451094975-line-19">
     <rect x="0" y="465.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-20">
+<clipPath id="terminal-3451094975-line-20">
     <rect x="0" y="489.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-21">
+<clipPath id="terminal-3451094975-line-21">
     <rect x="0" y="513.9" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-22">
+<clipPath id="terminal-3451094975-line-22">
     <rect x="0" y="538.3" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-23">
+<clipPath id="terminal-3451094975-line-23">
     <rect x="0" y="562.7" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-24">
+<clipPath id="terminal-3451094975-line-24">
     <rect x="0" y="587.1" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-25">
+<clipPath id="terminal-3451094975-line-25">
     <rect x="0" y="611.5" width="1464" height="24.65"/>
             </clipPath>
-<clipPath id="terminal-3886318936-line-26">
+<clipPath id="terminal-3451094975-line-26">
     <rect x="0" y="635.9" width="1464" height="24.65"/>
             </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="731.2" rx="8"/><text class="terminal-3886318936-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prepare-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="731.2" rx="8"/><text class="terminal-3451094975-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prepare-provider-packages</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
             <circle cx="44" cy="0" r="7" fill="#28c840"/>
             </g>
         
-    <g transform="translate(9, 41)" clip-path="url(#terminal-3886318936-clip-terminal)">
+    <g transform="translate(9, 41)" clip-path="url(#terminal-3451094975-clip-terminal)">
     
-    <g class="terminal-3886318936-matrix">
-    <text class="terminal-3886318936-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3886318936-line-0)">
-</text><text class="terminal-3886318936-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3886318936-line-1)">Usage:&#160;</text><text class="terminal-3886318936-r1" x="97.6" y="44.4" textLength="1281" clip-path="url(#terminal-3886318936-line-1)">breeze&#160;prepare-provider-packages&#160;[OPTIONS]&#160;[airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|</text><text class="terminal-3886318936-r2" x="1464" y="44.4" tex [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="68.8" textLength="1366.4" clip-path="url(#terminal-3886318936-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.drill&#160;|&#160;apache.druid&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#160;apache.kylin&#160;|</text>< [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="93.2" textLength="1354.2" clip-path="url(#terminal-3886318936-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#160;apache.sqoop&#160;|</text><t [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="117.6" textLength="1439.6" clip-path="url(#terminal-3886318936-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;arangodb&#160;|&#160;asana&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes&#160;|&#160;core.sql&#160;|&# [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="142" textLength="1439.6" clip-path="url(#terminal-3886318936-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#160;|&#160;docker&#160;|&#160;elasticsearch&#16 [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="166.4" textLength="1439.6" clip-path="url(#terminal-3886318936-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160;|&#160;google&#160;|&#160;grpc&#160;|&#160;hashicorp&#160;|&#160;http&#160; [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="190.8" textLength="1415.2" clip-path="url(#terminal-3886318936-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;jdbc&#160;|&#160;jenkins&#160;|&#160;jira&#160;|&#160;microsoft.azure&#160;|&#160;microsoft.mssql&#160;|&#160;microsoft.psrp [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="215.2" textLength="1427.4" clip-path="url(#terminal-3886318936-line-8)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;microsoft.winrm&#160;|&#160;mongo&#160;|&#160;mysql&#160;|&#160;neo4j&#160;|&#160;odbc&#160;|&#160;openfaas&#160;|&#160;opsg [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="239.6" textLength="1354.2" clip-path="url(#terminal-3886318936-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;|&#160;pagerduty&#160;|&#160;papermill&#160;|&#160;plexus&#160;|&#160;postgres&#160;|&#160;presto&#160;|&#160;qubole&#160;|& [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="264" textLength="1342" clip-path="url(#terminal-3886318936-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;salesforce&#160;|&#160;samba&#160;|&#160;segment&#160;|&#160;sendgrid&#160;|&#160;sftp&#160;|&#160;singularity&#160;|&#160;slac [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="288.4" textLength="1390.8" clip-path="url(#terminal-3886318936-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;snowflake&#160;|&#160;sqlite&#160;|&#160;ssh&#160;|&#160;tableau&#160;|&#160;telegram&#160;|&#160;trino&#160;|&#160;vertica [...]
-</text><text class="terminal-3886318936-r1" x="12.2" y="312.8" textLength="622.2" clip-path="url(#terminal-3886318936-line-12)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;zendesk]...</text><text class="terminal-3886318936-r2" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-3886318 [...]
-</text><text class="terminal-3886318936-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3886318936-line-13)">
-</text><text class="terminal-3886318936-r2" x="12.2" y="361.6" textLength="585.6" clip-path="url(#terminal-3886318936-line-14)">Prepare&#160;sdist/whl&#160;packages&#160;of&#160;Airflow&#160;Providers.</text><text class="terminal-3886318936-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-3886318936-line-14)">
-</text><text class="terminal-3886318936-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-3886318936-line-15)">
-</text><text class="terminal-3886318936-r4" x="0" y="410.4" textLength="24.4" clip-path="url(#terminal-3886318936-line-16)">╭─</text><text class="terminal-3886318936-r4" x="24.4" y="410.4" textLength="1415.2" clip-path="url(#terminal-3886318936-line-16)">&#160;Package&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3886318936-r4" x="1439.6" y="410.4" textLength="24.4" clip-path="url(#termina [...]
-</text><text class="terminal-3886318936-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3886318936-line-17)">│</text><text class="terminal-3886318936-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-3886318936-line-17)">-</text><text class="terminal-3886318936-r5" x="36.6" y="434.8" textLength="97.6" clip-path="url(#terminal-3886318936-line-17)">-package</text><text class="terminal-3886318936-r5" x="134.2" y="434.8" textLength="85.4" clip-path="url(#termin [...]
-</text><text class="terminal-3886318936-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3886318936-line-18)">│</text><text class="terminal-3886318936-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-3886318936-line-18)">-</text><text class="terminal-3886318936-r5" x="36.6" y="459.2" textLength="97.6" clip-path="url(#terminal-3886318936-line-18)">-version</text><text class="terminal-3886318936-r5" x="134.2" y="459.2" textLength="195.2" clip-path="url(#termi [...]
-</text><text class="terminal-3886318936-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-3886318936-line-19)">│</text><text class="terminal-3886318936-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#terminal-3886318936-line-19)">-</text><text class="terminal-3886318936-r5" x="36.6" y="483.6" textLength="97.6" clip-path="url(#terminal-3886318936-line-19)">-package</text><text class="terminal-3886318936-r5" x="134.2" y="483.6" textLength="122" clip-path="url(#termina [...]
-</text><text class="terminal-3886318936-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-3886318936-line-20)">│</text><text class="terminal-3886318936-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-3886318936-line-20)">-</text><text class="terminal-3886318936-r5" x="36.6" y="508" textLength="73.2" clip-path="url(#terminal-3886318936-line-20)">-debug</text><text class="terminal-3886318936-r2" x="378.2" y="508" textLength="878.4" clip-path="url(#terminal-388631 [...]
-</text><text class="terminal-3886318936-r4" x="0" y="532.4" textLength="1464" clip-path="url(#terminal-3886318936-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3886318936-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3886318936-line-21)">
-</text><text class="terminal-3886318936-r4" x="0" y="556.8" textLength="24.4" clip-path="url(#terminal-3886318936-line-22)">╭─</text><text class="terminal-3886318936-r4" x="24.4" y="556.8" textLength="1415.2" clip-path="url(#terminal-3886318936-line-22)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3886318936-r4" x="1439.6" y="556.8" textLength="24.4" clip-path="url(#terminal-388 [...]
-</text><text class="terminal-3886318936-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-3886318936-line-23)">│</text><text class="terminal-3886318936-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-3886318936-line-23)">-</text><text class="terminal-3886318936-r5" x="36.6" y="581.2" textLength="97.6" clip-path="url(#terminal-3886318936-line-23)">-verbose</text><text class="terminal-3886318936-r7" x="280.6" y="581.2" textLength="24.4" clip-path="url(#termin [...]
-</text><text class="terminal-3886318936-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-3886318936-line-24)">│</text><text class="terminal-3886318936-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-3886318936-line-24)">-</text><text class="terminal-3886318936-r5" x="36.6" y="605.6" textLength="48.8" clip-path="url(#terminal-3886318936-line-24)">-dry</text><text class="terminal-3886318936-r5" x="85.4" y="605.6" textLength="48.8" clip-path="url(#terminal-38 [...]
-</text><text class="terminal-3886318936-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-3886318936-line-25)">│</text><text class="terminal-3886318936-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-3886318936-line-25)">-</text><text class="terminal-3886318936-r5" x="36.6" y="630" textLength="85.4" clip-path="url(#terminal-3886318936-line-25)">-github</text><text class="terminal-3886318936-r5" x="122" y="630" textLength="134.2" clip-path="url(#terminal-3886318 [...]
-</text><text class="terminal-3886318936-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-3886318936-line-26)">│</text><text class="terminal-3886318936-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#terminal-3886318936-line-26)">-</text><text class="terminal-3886318936-r5" x="36.6" y="654.4" textLength="61" clip-path="url(#terminal-3886318936-line-26)">-help</text><text class="terminal-3886318936-r7" x="280.6" y="654.4" textLength="24.4" clip-path="url(#terminal-38 [...]
-</text><text class="terminal-3886318936-r4" x="0" y="678.8" textLength="1464" clip-path="url(#terminal-3886318936-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3886318936-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-3886318936-line-27)">
+    <g class="terminal-3451094975-matrix">
+    <text class="terminal-3451094975-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3451094975-line-0)">
+</text><text class="terminal-3451094975-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-3451094975-line-1)">Usage:&#160;</text><text class="terminal-3451094975-r1" x="97.6" y="44.4" textLength="1281" clip-path="url(#terminal-3451094975-line-1)">breeze&#160;prepare-provider-packages&#160;[OPTIONS]&#160;[airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|</text><text class="terminal-3451094975-r2" x="1464" y="44.4" tex [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="68.8" textLength="1366.4" clip-path="url(#terminal-3451094975-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.drill&#160;|&#160;apache.druid&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#160;apache.kylin&#160;|</text>< [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="93.2" textLength="1354.2" clip-path="url(#terminal-3451094975-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;apache.livy&#160;|&#160;apache.pig&#160;|&#160;apache.pinot&#160;|&#160;apache.spark&#160;|&#160;apache.sqoop&#160;|</text><t [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="117.6" textLength="1439.6" clip-path="url(#terminal-3451094975-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;arangodb&#160;|&#160;asana&#160;|&#160;celery&#160;|&#160;cloudant&#160;|&#160;cncf.kubernetes&#160;|&#160;core.sql&#160;|&# [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="142" textLength="1439.6" clip-path="url(#terminal-3451094975-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;|&#160;datadog&#160;|&#160;dbt.cloud&#160;|&#160;dingding&#160;|&#160;discord&#160;|&#160;docker&#160;|&#160;elasticsearch&#16 [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="166.4" textLength="1439.6" clip-path="url(#terminal-3451094975-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;facebook&#160;|&#160;ftp&#160;|&#160;github&#160;|&#160;google&#160;|&#160;grpc&#160;|&#160;hashicorp&#160;|&#160;http&#160; [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="190.8" textLength="1415.2" clip-path="url(#terminal-3451094975-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;jdbc&#160;|&#160;jenkins&#160;|&#160;jira&#160;|&#160;microsoft.azure&#160;|&#160;microsoft.mssql&#160;|&#160;microsoft.psrp [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="215.2" textLength="1427.4" clip-path="url(#terminal-3451094975-line-8)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;microsoft.winrm&#160;|&#160;mongo&#160;|&#160;mysql&#160;|&#160;neo4j&#160;|&#160;odbc&#160;|&#160;openfaas&#160;|&#160;opsg [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="239.6" textLength="1354.2" clip-path="url(#terminal-3451094975-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;|&#160;pagerduty&#160;|&#160;papermill&#160;|&#160;plexus&#160;|&#160;postgres&#160;|&#160;presto&#160;|&#160;qubole&#160;|& [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="264" textLength="1342" clip-path="url(#terminal-3451094975-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;salesforce&#160;|&#160;samba&#160;|&#160;segment&#160;|&#160;sendgrid&#160;|&#160;sftp&#160;|&#160;singularity&#160;|&#160;slac [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="288.4" textLength="1403" clip-path="url(#terminal-3451094975-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;snowflake&#160;|&#160;sqlite&#160;|&#160;ssh&#160;|&#160;tableau&#160;|&#160;tabular&#160;|&#160;telegram&#160;|&#160;trino&# [...]
+</text><text class="terminal-3451094975-r1" x="12.2" y="312.8" textLength="732" clip-path="url(#terminal-3451094975-line-12)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;yandex&#160;|&#160;zendesk]...</text><text class="terminal-3451094975-r2" x="1464" y="312.8" textLength="12.2" clip-path="url( [...]
+</text><text class="terminal-3451094975-r2" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-3451094975-line-13)">
+</text><text class="terminal-3451094975-r2" x="12.2" y="361.6" textLength="585.6" clip-path="url(#terminal-3451094975-line-14)">Prepare&#160;sdist/whl&#160;packages&#160;of&#160;Airflow&#160;Providers.</text><text class="terminal-3451094975-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-3451094975-line-14)">
+</text><text class="terminal-3451094975-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-3451094975-line-15)">
+</text><text class="terminal-3451094975-r4" x="0" y="410.4" textLength="24.4" clip-path="url(#terminal-3451094975-line-16)">╭─</text><text class="terminal-3451094975-r4" x="24.4" y="410.4" textLength="1415.2" clip-path="url(#terminal-3451094975-line-16)">&#160;Package&#160;flags&#160;─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3451094975-r4" x="1439.6" y="410.4" textLength="24.4" clip-path="url(#termina [...]
+</text><text class="terminal-3451094975-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#terminal-3451094975-line-17)">│</text><text class="terminal-3451094975-r5" x="24.4" y="434.8" textLength="12.2" clip-path="url(#terminal-3451094975-line-17)">-</text><text class="terminal-3451094975-r5" x="36.6" y="434.8" textLength="97.6" clip-path="url(#terminal-3451094975-line-17)">-package</text><text class="terminal-3451094975-r5" x="134.2" y="434.8" textLength="85.4" clip-path="url(#termin [...]
+</text><text class="terminal-3451094975-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#terminal-3451094975-line-18)">│</text><text class="terminal-3451094975-r5" x="24.4" y="459.2" textLength="12.2" clip-path="url(#terminal-3451094975-line-18)">-</text><text class="terminal-3451094975-r5" x="36.6" y="459.2" textLength="97.6" clip-path="url(#terminal-3451094975-line-18)">-version</text><text class="terminal-3451094975-r5" x="134.2" y="459.2" textLength="195.2" clip-path="url(#termi [...]
+</text><text class="terminal-3451094975-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#terminal-3451094975-line-19)">│</text><text class="terminal-3451094975-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#terminal-3451094975-line-19)">-</text><text class="terminal-3451094975-r5" x="36.6" y="483.6" textLength="97.6" clip-path="url(#terminal-3451094975-line-19)">-package</text><text class="terminal-3451094975-r5" x="134.2" y="483.6" textLength="122" clip-path="url(#termina [...]
+</text><text class="terminal-3451094975-r4" x="0" y="508" textLength="12.2" clip-path="url(#terminal-3451094975-line-20)">│</text><text class="terminal-3451094975-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#terminal-3451094975-line-20)">-</text><text class="terminal-3451094975-r5" x="36.6" y="508" textLength="73.2" clip-path="url(#terminal-3451094975-line-20)">-debug</text><text class="terminal-3451094975-r2" x="378.2" y="508" textLength="878.4" clip-path="url(#terminal-345109 [...]
+</text><text class="terminal-3451094975-r4" x="0" y="532.4" textLength="1464" clip-path="url(#terminal-3451094975-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3451094975-r2" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-3451094975-line-21)">
+</text><text class="terminal-3451094975-r4" x="0" y="556.8" textLength="24.4" clip-path="url(#terminal-3451094975-line-22)">╭─</text><text class="terminal-3451094975-r4" x="24.4" y="556.8" textLength="1415.2" clip-path="url(#terminal-3451094975-line-22)">&#160;Options&#160;───────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="terminal-3451094975-r4" x="1439.6" y="556.8" textLength="24.4" clip-path="url(#terminal-345 [...]
+</text><text class="terminal-3451094975-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#terminal-3451094975-line-23)">│</text><text class="terminal-3451094975-r5" x="24.4" y="581.2" textLength="12.2" clip-path="url(#terminal-3451094975-line-23)">-</text><text class="terminal-3451094975-r5" x="36.6" y="581.2" textLength="97.6" clip-path="url(#terminal-3451094975-line-23)">-verbose</text><text class="terminal-3451094975-r7" x="280.6" y="581.2" textLength="24.4" clip-path="url(#termin [...]
+</text><text class="terminal-3451094975-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#terminal-3451094975-line-24)">│</text><text class="terminal-3451094975-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#terminal-3451094975-line-24)">-</text><text class="terminal-3451094975-r5" x="36.6" y="605.6" textLength="48.8" clip-path="url(#terminal-3451094975-line-24)">-dry</text><text class="terminal-3451094975-r5" x="85.4" y="605.6" textLength="48.8" clip-path="url(#terminal-34 [...]
+</text><text class="terminal-3451094975-r4" x="0" y="630" textLength="12.2" clip-path="url(#terminal-3451094975-line-25)">│</text><text class="terminal-3451094975-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#terminal-3451094975-line-25)">-</text><text class="terminal-3451094975-r5" x="36.6" y="630" textLength="85.4" clip-path="url(#terminal-3451094975-line-25)">-github</text><text class="terminal-3451094975-r5" x="122" y="630" textLength="134.2" clip-path="url(#terminal-3451094 [...]
+</text><text class="terminal-3451094975-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#terminal-3451094975-line-26)">│</text><text class="terminal-3451094975-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#terminal-3451094975-line-26)">-</text><text class="terminal-3451094975-r5" x="36.6" y="654.4" textLength="61" clip-path="url(#terminal-3451094975-line-26)">-help</text><text class="terminal-3451094975-r7" x="280.6" y="654.4" textLength="24.4" clip-path="url(#terminal-34 [...]
+</text><text class="terminal-3451094975-r4" x="0" y="678.8" textLength="1464" clip-path="url(#terminal-3451094975-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-3451094975-r2" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-3451094975-line-27)">
 </text>
     </g>
     </g>
diff --git a/tests/providers/tabular/__init__.py b/tests/providers/tabular/__init__.py
new file mode 100644
index 0000000000..13a83393a9
--- /dev/null
+++ b/tests/providers/tabular/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/providers/tabular/hooks/__init__.py b/tests/providers/tabular/hooks/__init__.py
new file mode 100644
index 0000000000..13a83393a9
--- /dev/null
+++ b/tests/providers/tabular/hooks/__init__.py
@@ -0,0 +1,16 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/providers/tabular/hooks/test_tabular.py b/tests/providers/tabular/hooks/test_tabular.py
new file mode 100644
index 0000000000..639c43cded
--- /dev/null
+++ b/tests/providers/tabular/hooks/test_tabular.py
@@ -0,0 +1,42 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+import unittest
+
+import requests_mock
+
+from airflow.providers.tabular.hooks.tabular import TabularHook
+
+
+class TestTabularHook(unittest.TestCase):
+    """Test endpoint"""
+
+    def test_tabular(self):
+        access_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSU'
+        with requests_mock.Mocker() as m:
+            m.post(
+                'https://api.tabulardata.io/ws/v1/oauth/tokens',
+                json={
+                    'access_token': access_token,
+                    'token_type': 'Bearer',
+                    'expires_in': 86400,
+                    'warehouse_id': 'fadc4c31-e81f-48cd-9ce8-64cd5ce3fa5d',
+                    'region': 'us-west-2',
+                    'catalog_url': 'warehouses/fadc4c31-e81f-48cd-9ce8-64cd5ce3fa5d',
+                },
+            )
+            assert TabularHook().get_conn() == access_token
diff --git a/tests/system/providers/tabular/__init__.py b/tests/system/providers/tabular/__init__.py
new file mode 100644
index 0000000000..217e5db960
--- /dev/null
+++ b/tests/system/providers/tabular/__init__.py
@@ -0,0 +1,17 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
diff --git a/tests/system/providers/tabular/example_tabular.py b/tests/system/providers/tabular/example_tabular.py
new file mode 100644
index 0000000000..7021b0e874
--- /dev/null
+++ b/tests/system/providers/tabular/example_tabular.py
@@ -0,0 +1,54 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+from datetime import datetime, timedelta
+
+from airflow import DAG
+from airflow.operators.bash import BashOperator
+from airflow.providers.tabular.hooks.tabular import TabularHook
+
+bash_command = f"""
+echo "Our token: {TabularHook().get_token_macro()}"
+echo "Also as an environment variable:"
+env | grep TOKEN
+"""
+
+with DAG(
+    "tabular_example",
+    default_args={
+        "owner": "airflow",
+        "depends_on_past": False,
+        "email": ["airflow@airflow.com"],
+        "email_on_failure": False,
+        "email_on_retry": False,
+    },
+    start_date=datetime(2021, 1, 1),
+    schedule_interval=timedelta(1),
+    catchup=False,
+) as dag:
+    # This also works for the SparkSubmit operator
+    BashOperator(
+        task_id="with_tabular_environment_variable",
+        bash_command=bash_command,
+        env={"TOKEN": TabularHook().get_token_macro()},
+    )
+
+
+from tests.system.utils import get_test_run  # noqa: E402
+
+# Needed to run the example DAG with pytest (see: tests/system/README.md#run_via_pytest)
+test_run = get_test_run(dag)