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 2024/02/06 00:01:26 UTC

(airflow) 01/01: python 3.12 support

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

potiuk pushed a commit to branch python3.12
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 62d023a96cda2d61d4383fa051b168d2fa2a74e3
Author: dirrao <di...@gmail.com>
AuthorDate: Fri Jan 12 13:30:52 2024 +0530

    python 3.12 support
---
 Dockerfile.ci                                      |   8 ++
 airflow/__init__.py                                |   1 +
 airflow/providers/apache/beam/provider.yaml        |   4 +
 airflow/providers/apache/cassandra/provider.yaml   |  16 +++
 airflow/providers/papermill/provider.yaml          |   5 +
 dev/README_RELEASE_AIRFLOW.md                      |   2 +-
 dev/breeze/README.md                               |   2 +-
 dev/breeze/doc/images/output-commands.svg          |   2 +-
 dev/breeze/doc/images/output_ci-image_build.svg    |   4 +-
 dev/breeze/doc/images/output_ci-image_build.txt    |   2 +-
 dev/breeze/doc/images/output_ci-image_pull.svg     |  64 ++++++-----
 dev/breeze/doc/images/output_ci-image_pull.txt     |   2 +-
 dev/breeze/doc/images/output_ci-image_verify.svg   |   4 +-
 dev/breeze/doc/images/output_ci-image_verify.txt   |   2 +-
 .../doc/images/output_k8s_build-k8s-image.svg      |  52 +++++----
 .../doc/images/output_k8s_build-k8s-image.txt      |   2 +-
 .../doc/images/output_k8s_configure-cluster.svg    |  60 +++++-----
 .../doc/images/output_k8s_configure-cluster.txt    |   2 +-
 .../doc/images/output_k8s_create-cluster.svg       |   4 +-
 .../doc/images/output_k8s_create-cluster.txt       |   2 +-
 .../doc/images/output_k8s_delete-cluster.svg       |  34 +++---
 .../doc/images/output_k8s_delete-cluster.txt       |   2 +-
 .../doc/images/output_k8s_deploy-airflow.svg       |  76 +++++++------
 .../doc/images/output_k8s_deploy-airflow.txt       |   2 +-
 dev/breeze/doc/images/output_k8s_k9s.svg           |  32 +++---
 dev/breeze/doc/images/output_k8s_k9s.txt           |   2 +-
 dev/breeze/doc/images/output_k8s_logs.svg          |  34 +++---
 dev/breeze/doc/images/output_k8s_logs.txt          |   2 +-
 .../doc/images/output_k8s_run-complete-tests.svg   |  70 ++++++------
 .../doc/images/output_k8s_run-complete-tests.txt   |   2 +-
 dev/breeze/doc/images/output_k8s_shell.svg         |  42 +++----
 dev/breeze/doc/images/output_k8s_shell.txt         |   2 +-
 dev/breeze/doc/images/output_k8s_status.svg        |  36 +++---
 dev/breeze/doc/images/output_k8s_status.txt        |   2 +-
 dev/breeze/doc/images/output_k8s_tests.svg         |  70 ++++++------
 dev/breeze/doc/images/output_k8s_tests.txt         |   2 +-
 .../doc/images/output_k8s_upload-k8s-image.svg     |  58 +++++-----
 .../doc/images/output_k8s_upload-k8s-image.txt     |   2 +-
 dev/breeze/doc/images/output_prod-image_build.svg  |   4 +-
 dev/breeze/doc/images/output_prod-image_build.txt  |   2 +-
 dev/breeze/doc/images/output_prod-image_pull.svg   |  64 ++++++-----
 dev/breeze/doc/images/output_prod-image_pull.txt   |   2 +-
 dev/breeze/doc/images/output_prod-image_verify.svg |   4 +-
 dev/breeze/doc/images/output_prod-image_verify.txt |   2 +-
 ...put_release-management_generate-constraints.svg |   4 +-
 ...put_release-management_generate-constraints.txt |   2 +-
 ...ease-management_generate-providers-metadata.svg |   2 +-
 ...ease-management_generate-providers-metadata.txt |   2 +-
 ...elease-management_install-provider-packages.svg | 122 +++++++++++----------
 ...elease-management_install-provider-packages.txt |   2 +-
 ...tput_release-management_release-prod-images.svg |   2 +-
 ...tput_release-management_release-prod-images.txt |   2 +-
 ...release-management_verify-provider-packages.svg | 104 +++++++++---------
 ...release-management_verify-provider-packages.txt |   2 +-
 .../output_sbom_build-all-airflow-images.svg       |   2 +-
 .../output_sbom_build-all-airflow-images.txt       |   2 +-
 ...output_sbom_generate-providers-requirements.svg |   2 +-
 ...output_sbom_generate-providers-requirements.txt |   2 +-
 .../images/output_sbom_update-sbom-information.svg |   2 +-
 .../images/output_sbom_update-sbom-information.txt |   2 +-
 dev/breeze/doc/images/output_setup_config.svg      |   2 +-
 dev/breeze/doc/images/output_setup_config.txt      |   2 +-
 dev/breeze/doc/images/output_shell.svg             |   2 +-
 dev/breeze/doc/images/output_shell.txt             |   2 +-
 dev/breeze/doc/images/output_start-airflow.svg     |   2 +-
 dev/breeze/doc/images/output_start-airflow.txt     |   2 +-
 dev/breeze/doc/images/output_testing_db-tests.svg  |  88 ++++++++-------
 dev/breeze/doc/images/output_testing_db-tests.txt  |   2 +-
 .../images/output_testing_docker-compose-tests.svg |   2 +-
 .../images/output_testing_docker-compose-tests.txt |   2 +-
 .../images/output_testing_integration-tests.svg    |  50 +++++----
 .../images/output_testing_integration-tests.txt    |   2 +-
 .../doc/images/output_testing_non-db-tests.svg     |  84 +++++++-------
 .../doc/images/output_testing_non-db-tests.txt     |   2 +-
 dev/breeze/doc/images/output_testing_tests.svg     |  92 ++++++++--------
 dev/breeze/doc/images/output_testing_tests.txt     |   2 +-
 dev/breeze/pyproject.toml                          |   2 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   7 +-
 dev/breeze/src/airflow_breeze/utils/cdxgen.py      |   1 +
 dev/breeze/tests/test_cache.py                     |   4 +-
 dev/breeze/tests/test_packages.py                  |   2 +-
 dev/breeze/tests/test_selective_checks.py          |  64 +++++------
 dev/retag_docker_images.py                         |   2 +-
 generated/provider_dependencies.json               |  12 +-
 pyproject.toml                                     |  25 +++--
 scripts/docker/entrypoint_ci.sh                    |   9 ++
 tests/always/test_example_dags.py                  |  31 +++++-
 .../apache/cassandra/hooks/test_cassandra.py       |  14 ++-
 .../amazon/aws/executors/ecs/test_ecs_executor.py  |   2 +-
 .../apache/cassandra/sensors/test_record.py        |   6 +-
 .../apache/cassandra/sensors/test_table.py         |   6 +-
 .../cloud/transfers/test_cassandra_to_gcs.py       |   4 +-
 .../utils/test_mlengine_prediction_summary.py      |  54 +++++----
 tests/providers/microsoft/azure/hooks/test_adx.py  |  63 ++++++-----
 tests/providers/microsoft/azure/hooks/test_wasb.py |   5 +-
 tests/providers/papermill/hooks/test_kernel.py     |  13 ++-
 .../papermill/operators/test_papermill.py          |  67 ++++++++---
 tests/www/api/experimental/test_endpoints.py       |   5 +-
 tests/www/test_security.py                         |   8 +-
 99 files changed, 1011 insertions(+), 777 deletions(-)

diff --git a/Dockerfile.ci b/Dockerfile.ci
index 178c0fda04..323894d5f6 100644
--- a/Dockerfile.ci
+++ b/Dockerfile.ci
@@ -946,11 +946,19 @@ function check_run_tests() {
     fi
 }
 
+function check_install_universal_pathlib() {
+    echo
+    echo "${COLOR_BLUE}Installing universal python pathlib from PR url${COLOR_RESET}"
+    echo
+    pip install --root-user-action ignore git+https://github.com/ap--/universal_pathlib/@improve-subclassing-for-py312#egg=universal-pathlib
+}
+
 determine_airflow_to_use
 environment_initialization
 check_boto_upgrade
 check_download_sqlalchemy
 check_download_pendulum
+check_install_universal_pathlib
 check_run_tests "${@}"
 
 exec /bin/bash "${@}"
diff --git a/airflow/__init__.py b/airflow/__init__.py
index 4af74a44d2..3df4a11cb1 100644
--- a/airflow/__init__.py
+++ b/airflow/__init__.py
@@ -75,6 +75,7 @@ PY38 = sys.version_info >= (3, 8)
 PY39 = sys.version_info >= (3, 9)
 PY310 = sys.version_info >= (3, 10)
 PY311 = sys.version_info >= (3, 11)
+PY312 = sys.version_info >= (3, 12)
 
 # Things to lazy import in form {local_name: ('target_module', 'target_name', 'deprecated')}
 __lazy_imports: dict[str, tuple[str, str, bool]] = {
diff --git a/airflow/providers/apache/beam/provider.yaml b/airflow/providers/apache/beam/provider.yaml
index 819a40c387..e58edabefc 100644
--- a/airflow/providers/apache/beam/provider.yaml
+++ b/airflow/providers/apache/beam/provider.yaml
@@ -62,6 +62,10 @@ additional-extras:
     dependencies:
       - apache-beam[gcp]
 
+# Apache Beam currently does not support Python 3.12
+# There is an issue tracking it https://github.com/apache/beam/issues/29149
+excluded-python-versions: ['3.12']
+
 integrations:
   - integration-name: Apache Beam
     external-doc-url: https://beam.apache.org/
diff --git a/airflow/providers/apache/cassandra/provider.yaml b/airflow/providers/apache/cassandra/provider.yaml
index 96827667f3..a8295790aa 100644
--- a/airflow/providers/apache/cassandra/provider.yaml
+++ b/airflow/providers/apache/cassandra/provider.yaml
@@ -45,6 +45,22 @@ dependencies:
   - apache-airflow>=2.6.0
   - cassandra-driver>=3.13.0
 
+# Cassandra provider is not yet compatible with Python 3.12
+# The main issue is that python cassandra driver by default uses asyncore which has been deprecated since
+# Python 3.6 and removed in Python 3.12 (https://docs.python.org/3.11/library/asyncore.html)
+# The issue is tracked here: https://datastax-oss.atlassian.net/browse/PYTHON-1375 and is scheduled
+# to be fixed in cassandra-driver 3.30.0.
+#
+# All Cassandra tests are automatically skipped if cassandra package is not present, so once you remove the
+# exclusion, they will start running for Python 3.12. You can remove the list below then.
+#
+#   tests/providers/apache/cassandra/sensors/test_record.py
+#   tests/providers/apache/cassandra/sensors/test_table.py
+#   tests/integration/providers/apache/cassandra/hooks/test_cassandra.py
+#   tests/providers/google/cloud/transfers/test_cassandra_to_gcs.py
+#
+excluded-python-versions: ['3.12']
+
 integrations:
   - integration-name: Apache Cassandra
     external-doc-url: https://cassandra.apache.org/
diff --git a/airflow/providers/papermill/provider.yaml b/airflow/providers/papermill/provider.yaml
index e068a4ff3a..8a0546f0ce 100644
--- a/airflow/providers/papermill/provider.yaml
+++ b/airflow/providers/papermill/provider.yaml
@@ -21,6 +21,11 @@ name: Papermill
 description: |
     `Papermill <https://github.com/nteract/papermill>`__
 
+# Papermill is technically compliant with 3.12, but it's 2.5.0 version that is compliant, requires pinned
+# version of aiohttp which conflicts with other providers. The fix for that is implemented extra-links:
+# https://github.com/nteract/papermill/pull/771 and waits for new Papermill release
+excluded-python-versions: ['3.12']
+
 state: ready
 source-date-epoch: 1705912216
 versions:
diff --git a/dev/README_RELEASE_AIRFLOW.md b/dev/README_RELEASE_AIRFLOW.md
index 0504d94714..98df18f1e2 100644
--- a/dev/README_RELEASE_AIRFLOW.md
+++ b/dev/README_RELEASE_AIRFLOW.md
@@ -819,7 +819,7 @@ the older branches, you should set the "skip" field to true.
 ## Verify production images
 
 ```shell script
-for PYTHON in 3.8 3.9 3.10 3.11
+for PYTHON in 3.8 3.9 3.10 3.11 3.12
 do
     docker pull apache/airflow:${VERSION}-python${PYTHON}
     breeze prod-image verify --image-name apache/airflow:${VERSION}-python${PYTHON}
diff --git a/dev/breeze/README.md b/dev/breeze/README.md
index de9fa17911..14b81e0e9a 100644
--- a/dev/breeze/README.md
+++ b/dev/breeze/README.md
@@ -66,6 +66,6 @@ PLEASE DO NOT MODIFY THE HASH BELOW! IT IS AUTOMATICALLY UPDATED BY PRE-COMMIT.
 
 ---------------------------------------------------------------------------------------------------------
 
-Package config hash: 0a4cc814e27e822622708d862952a5b411a1a4ad8f3bca8fa591f39ed670ab6636de3caf7c1d072896c411c7eef824f887202b8de8729b8622f2af9b84a154b3
+Package config hash: 4ff506f6876f259f266c6987d814a54b4cf26f2c80186403bbe2e4f036581dcd54ec74172e150b46b4f3b4a34fd5c8d86a3e77a694e0470934ae96c883972714
 
 ---------------------------------------------------------------------------------------------------------
diff --git a/dev/breeze/doc/images/output-commands.svg b/dev/breeze/doc/images/output-commands.svg
index 3837045fc3..b21f7f14e9 100644
--- a/dev/breeze/doc/images/output-commands.svg
+++ b/dev/breeze/doc/images/output-commands.svg
@@ -281,7 +281,7 @@
 </text><text class="breeze-help-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-help-line-2)">
 </text><text class="breeze-help-r5" x="0" y="93.2" textLength="24.4" clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r5" x="24.4" y="93.2" textLength="195.2" clip-path="url(#breeze-help-line-3)">&#160;Execution&#160;mode&#160;</text><text class="breeze-help-r5" x="219.6" y="93.2" textLength="1220" clip-path="url(#breeze-help-line-3)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-help-r [...]
 </text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4" x="24.4" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r4" x="36.6" y="117.6" textLength="85.4" clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6" x="366" y="117.6" textLength="24.4" clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r1" x="414.8" [...]
-</text><text class="breeze-help-r5" x="0" y="142" textLength="12.2" clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r7" x="414.8" y="142" textLength="732" clip-path="url(#breeze-help-line-5)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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;</text><text clas [...]
+</text><text class="breeze-help-r5" x="0" y="142" textLength="12.2" clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r7" x="414.8" y="142" textLength="732" clip-path="url(#breeze-help-line-5)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class="breeze-help-r5" x="145 [...]
 </text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5" x="414.8" y="166.4" textLength="732" clip-path="url(#breeze-help-line-6)">[default:&#160;3.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;&#1 [...]
 </text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4" x="36.6" y="190.8" textLength="146.4" clip-path="url(#breeze-help-line-7)">-integration</text><text class="breeze-help-r1" x="414.8" y="190.8" textLength="1024.8" clip-path="url(#breeze-help-line-7)">Integration(s)&#160;to&#160;enable&#1 [...]
 </text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r7" x="414.8" y="215.2" textLength="1024.8" clip-path="url(#breeze-help-line-8)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;</text><text class="breeze-help-r5" x="1451.8" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line [...]
diff --git a/dev/breeze/doc/images/output_ci-image_build.svg b/dev/breeze/doc/images/output_ci-image_build.svg
index 17ea15e9e9..0239626c6d 100644
--- a/dev/breeze/doc/images/output_ci-image_build.svg
+++ b/dev/breeze/doc/images/output_ci-image_build.svg
@@ -343,7 +343,7 @@
 </text><text class="breeze-ci-image-build-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-4)">
 </text><text class="breeze-ci-image-build-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-ci-image-build-line-5)">╭─</text><text class="breeze-ci-image-build-r5" x="24.4" y="142" textLength="158.6" clip-path="url(#breeze-ci-image-build-line-5)">&#160;Basic&#160;usage&#160;</text><text class="breeze-ci-image-build-r5" x="183" y="142" textLength="1256.6" clip-path="url(#breeze-ci-image-build-line-5)">─────────────────────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-6)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-6)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-ci-image-build-line-6)">-python</text><text class="breeze-ci-image-build-r6" x="585.6" y="166.4" textLength="24.4" clip-path="u [...]
-</text><text class="breeze-ci-image-build-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-7)">│</text><text class="breeze-ci-image-build-r7" x="634.4" y="190.8" textLength="732" clip-path="url(#breeze-ci-image-build-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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;&#1 [...]
+</text><text class="breeze-ci-image-build-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-7)">│</text><text class="breeze-ci-image-build-r7" x="634.4" y="190.8" textLength="732" clip-path="url(#breeze-ci-image-build-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;&#16 [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-8)">│</text><text class="breeze-ci-image-build-r5" x="634.4" y="215.2" textLength="732" clip-path="url(#breeze-ci-image-build-line-8)">[default:&#160;3.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 [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-9)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-9)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="239.6" textLength="97.6" clip-path="url(#breeze-ci-image-build-line-9)">-upgrade</text><text class="breeze-ci-image-build-r4" x="134.2" y="239.6" textLength="268.4" clip-path= [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-10)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-10)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="264" textLength="97.6" clip-path="url(#breeze-ci-image-build-line-10)">-upgrade</text><text class="breeze-ci-image-build-r4" x="134.2" y="264" textLength="134.2" clip-path="url( [...]
@@ -371,7 +371,7 @@
 </text><text class="breeze-ci-image-build-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-32)">│</text><text class="breeze-ci-image-build-r7" x="378.2" y="800.8" textLength="915" clip-path="url(#breeze-ci-image-build-line-32)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-ci-image-build-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-33)">│</text><text class="breeze-ci-image-build-r5" x="378.2" y="825.2" textLength="915" clip-path="url(#breeze-ci-image-build-line-33)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-34)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-34)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="849.6" textLength="85.4" clip-path="url(#breeze-ci-image-build-line-34)">-python</text><text class="breeze-ci-image-build-r4" x="122" y="849.6" textLength="109.8" clip-path= [...]
-</text><text class="breeze-ci-image-build-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-35)">│</text><text class="breeze-ci-image-build-r5" x="378.2" y="874" textLength="951.6" clip-path="url(#breeze-ci-image-build-line-35)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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; [...]
+</text><text class="breeze-ci-image-build-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-35)">│</text><text class="breeze-ci-image-build-r5" x="378.2" y="874" textLength="951.6" clip-path="url(#breeze-ci-image-build-line-35)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&# [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-36)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-36)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="898.4" textLength="48.8" clip-path="url(#breeze-ci-image-build-line-36)">-run</text><text class="breeze-ci-image-build-r4" x="85.4" y="898.4" textLength="146.4" clip-path="u [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-37)">│</text><text class="breeze-ci-image-build-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-37)">-</text><text class="breeze-ci-image-build-r4" x="36.6" y="922.8" textLength="61" clip-path="url(#breeze-ci-image-build-line-37)">-skip</text><text class="breeze-ci-image-build-r4" x="97.6" y="922.8" textLength="97.6" clip-path="url [...]
 </text><text class="breeze-ci-image-build-r5" x="0" y="947.2" textLength="1464" clip-path="url(#breeze-ci-image-build-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-build-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-ci-image-build-line-38)">
diff --git a/dev/breeze/doc/images/output_ci-image_build.txt b/dev/breeze/doc/images/output_ci-image_build.txt
index b4ab5dac08..4d03572e98 100644
--- a/dev/breeze/doc/images/output_ci-image_build.txt
+++ b/dev/breeze/doc/images/output_ci-image_build.txt
@@ -1 +1 @@
-d2ef2733519d945c8cfd4fed63a43f24
+953b11162ee3c7a8e57be0d2c049aaeb
diff --git a/dev/breeze/doc/images/output_ci-image_pull.svg b/dev/breeze/doc/images/output_ci-image_pull.svg
index fd74f3d396..78616b5421 100644
--- a/dev/breeze/doc/images/output_ci-image_pull.svg
+++ b/dev/breeze/doc/images/output_ci-image_pull.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 904.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-ci-image-pull-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="853.0" />
     </clipPath>
     <clipPath id="breeze-ci-image-pull-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -144,9 +144,12 @@
 <clipPath id="breeze-ci-image-pull-line-32">
     <rect x="0" y="782.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-ci-image-pull-line-33">
+    <rect x="0" y="806.7" 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="877.6" rx="8"/><text class="breeze-ci-image-pull-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;ci-image&#160;pull</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="902" rx="8"/><text class="breeze-ci-image-pull-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;ci-image&#160;pull</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -163,33 +166,34 @@
 </text><text class="breeze-ci-image-pull-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-4)">
 </text><text class="breeze-ci-image-pull-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-5)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="142" textLength="219.6" clip-path="url(#breeze-ci-image-pull-line-5)">&#160;Pull&#160;image&#160;flags&#160;</text><text class="breeze-ci-image-pull-r5" x="244" y="142" textLength="1195.6" clip-path="url(#breeze-ci-image-pull-line-5)">─────────────────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-ci-image-pull-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-6)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-6)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-ci-image-pull-line-6)">-image</text><text class="breeze-ci-image-pull-r4" x="109.8" y="166.4" textLength="48.8" clip-path="url(#bree [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-7)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-7)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-7)">-python</text><text class="breeze-ci-image-pull-r6" x="244" y="190.8" textLength="24.4" clip-path="url(#breez [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-8)">│</text><text class="breeze-ci-image-pull-r5" x="292.8" y="215.2" textLength="732" clip-path="url(#breeze-ci-image-pull-line-8)">[default:&#160;3.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;&#1 [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-9)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-9)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="239.6" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-9)">-verify</text><text class="breeze-ci-image-pull-r1" x="292.8" y="239.6" textLength="158.6" clip-path="url(#br [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-10)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-10)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="264" textLength="61" clip-path="url(#breeze-ci-image-pull-line-10)">-wait</text><text class="breeze-ci-image-pull-r4" x="97.6" y="264" textLength="122" clip-path="url(#breeze-ci-imag [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-11)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-11)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="288.4" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-11)">-tag</text><text class="breeze-ci-image-pull-r4" x="85.4" y="288.4" textLength="122" clip-path="url(#breez [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-12)">│</text><text class="breeze-ci-image-pull-r1" x="292.8" y="312.8" textLength="231.8" clip-path="url(#breeze-ci-image-pull-line-12)">or&#160;pull&#160;image&#160;with&#160;</text><text class="breeze-ci-image-pull-r4" x="524.6" y="312.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-12)">-</text><text class="breeze-ci-image-pull-r4" x="536.8" y="312.8" [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-13)">
-</text><text class="breeze-ci-image-pull-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-14)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="361.6" textLength="219.6" clip-path="url(#breeze-ci-image-pull-line-14)">&#160;Parallel&#160;running&#160;</text><text class="breeze-ci-image-pull-r5" x="244" y="361.6" textLength="1195.6" clip-path="url(#breeze-ci-image-pull-line-14)">─────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-15)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-15)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-15)">-run</text><text class="breeze-ci-image-pull-r4" x="85.4" y="386" textLength="146.4" clip-path="url(#breeze-ci-i [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-16)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-16)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="410.4" textLength="146.4" clip-path="url(#breeze-ci-image-pull-line-16)">-parallelism</text><text class="breeze-ci-image-pull-r1" x="378.2" y="410.4" textLength="915" clip-path=" [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-17)">│</text><text class="breeze-ci-image-pull-r7" x="378.2" y="434.8" textLength="915" clip-path="url(#breeze-ci-image-pull-line-17)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-ci-image-pull-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-18)">│</text><text class="breeze-ci-image-pull-r5" x="378.2" y="459.2" textLength="915" clip-path="url(#breeze-ci-image-pull-line-18)">[default:&#160;4;&#160;1&lt;=x&lt;=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;& [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-19)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-19)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-19)">-python</text><text class="breeze-ci-image-pull-r4" x="122" y="483.6" textLength="109.8" clip-path="url(#b [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-20)">│</text><text class="breeze-ci-image-pull-r5" x="378.2" y="508" textLength="951.6" clip-path="url(#breeze-ci-image-pull-line-20)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&#16 [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-21)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-21)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="532.4" textLength="61" clip-path="url(#breeze-ci-image-pull-line-21)">-skip</text><text class="breeze-ci-image-pull-r4" x="97.6" y="532.4" textLength="97.6" clip-path="url(#breez [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-22)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-22)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="556.8" textLength="73.2" clip-path="url(#breeze-ci-image-pull-line-22)">-debug</text><text class="breeze-ci-image-pull-r4" x="109.8" y="556.8" textLength="122" clip-path="url(#br [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-23)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-23)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="581.2" textLength="97.6" clip-path="url(#breeze-ci-image-pull-line-23)">-include</text><text class="breeze-ci-image-pull-r4" x="134.2" y="581.2" textLength="195.2" clip-path="url [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="605.6" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-24)">
-</text><text class="breeze-ci-image-pull-r5" x="0" y="630" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-25)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="630" textLength="280.6" clip-path="url(#breeze-ci-image-pull-line-25)">&#160;Github&#160;authentication&#160;</text><text class="breeze-ci-image-pull-r5" x="305" y="630" textLength="1134.6" clip-path="url(#breeze-ci-image-pull-line-25)">──────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-26)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-26)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="654.4" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-26)">-github</text><text class="breeze-ci-image-pull-r4" x="122" y="654.4" textLength="134.2" clip-path="url(#b [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-27)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-27)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="678.8" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-27)">-github</text><text class="breeze-ci-image-pull-r4" x="122" y="678.8" textLength="73.2" clip-path="url(#br [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-28)">
-</text><text class="breeze-ci-image-pull-r5" x="0" y="727.6" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-29)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="727.6" textLength="195.2" clip-path="url(#breeze-ci-image-pull-line-29)">&#160;Common&#160;options&#160;</text><text class="breeze-ci-image-pull-r5" x="219.6" y="727.6" textLength="1220" clip-path="url(#breeze-ci-image-pull-line-29)">───────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-30)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-30)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="752" textLength="97.6" clip-path="url(#breeze-ci-image-pull-line-30)">-verbose</text><text class="breeze-ci-image-pull-r6" x="158.6" y="752" textLength="24.4" clip-path="url(#breeze- [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-31)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-31)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="776.4" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-31)">-dry</text><text class="breeze-ci-image-pull-r4" x="85.4" y="776.4" textLength="48.8" clip-path="url(#bree [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-32)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-32)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="800.8" textLength="61" clip-path="url(#breeze-ci-image-pull-line-32)">-help</text><text class="breeze-ci-image-pull-r6" x="158.6" y="800.8" textLength="24.4" clip-path="url(#bree [...]
-</text><text class="breeze-ci-image-pull-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-33)">
+</text><text class="breeze-ci-image-pull-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-7)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-7)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-7)">-python</text><text class="breeze-ci-image-pull-r6" x="244" y="190.8" textLength="24.4" clip-path="url(#breez [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-8)">│</text><text class="breeze-ci-image-pull-r7" x="292.8" y="215.2" textLength="732" clip-path="url(#breeze-ci-image-pull-line-8)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</ [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-9)">│</text><text class="breeze-ci-image-pull-r5" x="292.8" y="239.6" textLength="732" clip-path="url(#breeze-ci-image-pull-line-9)">[default:&#160;3.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;&#1 [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-10)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-10)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="264" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-10)">-verify</text><text class="breeze-ci-image-pull-r1" x="292.8" y="264" textLength="158.6" clip-path="url(#breeze- [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-11)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-11)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="288.4" textLength="61" clip-path="url(#breeze-ci-image-pull-line-11)">-wait</text><text class="breeze-ci-image-pull-r4" x="97.6" y="288.4" textLength="122" clip-path="url(#breeze [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-12)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-12)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-12)">-tag</text><text class="breeze-ci-image-pull-r4" x="85.4" y="312.8" textLength="122" clip-path="url(#breez [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-13)">│</text><text class="breeze-ci-image-pull-r1" x="292.8" y="337.2" textLength="231.8" clip-path="url(#breeze-ci-image-pull-line-13)">or&#160;pull&#160;image&#160;with&#160;</text><text class="breeze-ci-image-pull-r4" x="524.6" y="337.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-13)">-</text><text class="breeze-ci-image-pull-r4" x="536.8" y="337.2" [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-14)">
+</text><text class="breeze-ci-image-pull-r5" x="0" y="386" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-15)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="386" textLength="219.6" clip-path="url(#breeze-ci-image-pull-line-15)">&#160;Parallel&#160;running&#160;</text><text class="breeze-ci-image-pull-r5" x="244" y="386" textLength="1195.6" clip-path="url(#breeze-ci-image-pull-line-15)">───────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-16)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-16)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="410.4" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-16)">-run</text><text class="breeze-ci-image-pull-r4" x="85.4" y="410.4" textLength="146.4" clip-path="url(#bre [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-17)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-17)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="434.8" textLength="146.4" clip-path="url(#breeze-ci-image-pull-line-17)">-parallelism</text><text class="breeze-ci-image-pull-r1" x="378.2" y="434.8" textLength="915" clip-path=" [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-18)">│</text><text class="breeze-ci-image-pull-r7" x="378.2" y="459.2" textLength="915" clip-path="url(#breeze-ci-image-pull-line-18)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-ci-image-pull-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-19)">│</text><text class="breeze-ci-image-pull-r5" x="378.2" y="483.6" textLength="915" clip-path="url(#breeze-ci-image-pull-line-19)">[default:&#160;4;&#160;1&lt;=x&lt;=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;& [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-20)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-20)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="508" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-20)">-python</text><text class="breeze-ci-image-pull-r4" x="122" y="508" textLength="109.8" clip-path="url(#breeze-ci [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-21)">│</text><text class="breeze-ci-image-pull-r5" x="378.2" y="532.4" textLength="951.6" clip-path="url(#breeze-ci-image-pull-line-21)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&# [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-22)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-22)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="556.8" textLength="61" clip-path="url(#breeze-ci-image-pull-line-22)">-skip</text><text class="breeze-ci-image-pull-r4" x="97.6" y="556.8" textLength="97.6" clip-path="url(#breez [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-23)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-23)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="581.2" textLength="73.2" clip-path="url(#breeze-ci-image-pull-line-23)">-debug</text><text class="breeze-ci-image-pull-r4" x="109.8" y="581.2" textLength="122" clip-path="url(#br [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-24)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-24)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="605.6" textLength="97.6" clip-path="url(#breeze-ci-image-pull-line-24)">-include</text><text class="breeze-ci-image-pull-r4" x="134.2" y="605.6" textLength="195.2" clip-path="url [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="630" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-25)">
+</text><text class="breeze-ci-image-pull-r5" x="0" y="654.4" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-26)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="654.4" textLength="280.6" clip-path="url(#breeze-ci-image-pull-line-26)">&#160;Github&#160;authentication&#160;</text><text class="breeze-ci-image-pull-r5" x="305" y="654.4" textLength="1134.6" clip-path="url(#breeze-ci-image-pull-line-26)">────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-27)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-27)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="678.8" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-27)">-github</text><text class="breeze-ci-image-pull-r4" x="122" y="678.8" textLength="134.2" clip-path="url(#b [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-28)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-28)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="703.2" textLength="85.4" clip-path="url(#breeze-ci-image-pull-line-28)">-github</text><text class="breeze-ci-image-pull-r4" x="122" y="703.2" textLength="73.2" clip-path="url(#br [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-29)">
+</text><text class="breeze-ci-image-pull-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-ci-image-pull-line-30)">╭─</text><text class="breeze-ci-image-pull-r5" x="24.4" y="752" textLength="195.2" clip-path="url(#breeze-ci-image-pull-line-30)">&#160;Common&#160;options&#160;</text><text class="breeze-ci-image-pull-r5" x="219.6" y="752" textLength="1220" clip-path="url(#breeze-ci-image-pull-line-30)">─────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-31)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-31)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="776.4" textLength="97.6" clip-path="url(#breeze-ci-image-pull-line-31)">-verbose</text><text class="breeze-ci-image-pull-r6" x="158.6" y="776.4" textLength="24.4" clip-path="url( [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-32)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-32)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="800.8" textLength="48.8" clip-path="url(#breeze-ci-image-pull-line-32)">-dry</text><text class="breeze-ci-image-pull-r4" x="85.4" y="800.8" textLength="48.8" clip-path="url(#bree [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-33)">│</text><text class="breeze-ci-image-pull-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-33)">-</text><text class="breeze-ci-image-pull-r4" x="36.6" y="825.2" textLength="61" clip-path="url(#breeze-ci-image-pull-line-33)">-help</text><text class="breeze-ci-image-pull-r6" x="158.6" y="825.2" textLength="24.4" clip-path="url(#bree [...]
+</text><text class="breeze-ci-image-pull-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-ci-image-pull-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-ci-image-pull-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-ci-image-pull-line-34)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_ci-image_pull.txt b/dev/breeze/doc/images/output_ci-image_pull.txt
index 3eb380722d..c916be1bf3 100644
--- a/dev/breeze/doc/images/output_ci-image_pull.txt
+++ b/dev/breeze/doc/images/output_ci-image_pull.txt
@@ -1 +1 @@
-f9248c6026da61fe0acdb5d8f37b20da
+3c950cd0e358661163e52c9f3726aee8
diff --git a/dev/breeze/doc/images/output_ci-image_verify.svg b/dev/breeze/doc/images/output_ci-image_verify.svg
index cb247415e9..2a0431e876 100644
--- a/dev/breeze/doc/images/output_ci-image_verify.svg
+++ b/dev/breeze/doc/images/output_ci-image_verify.svg
@@ -157,7 +157,7 @@
 </text><text class="breeze-ci-image-verify-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-4)">
 </text><text class="breeze-ci-image-verify-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-ci-image-verify-line-5)">╭─</text><text class="breeze-ci-image-verify-r5" x="24.4" y="142" textLength="244" clip-path="url(#breeze-ci-image-verify-line-5)">&#160;Verify&#160;image&#160;flags&#160;</text><text class="breeze-ci-image-verify-r5" x="268.4" y="142" textLength="1171.2" clip-path="url(#breeze-ci-image-verify-line-5)">───────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-6)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-6)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-ci-image-verify-line-6)">-image</text><text class="breeze-ci-image-verify-r4" x="109.8" y="166.4" textLength="61" clip-pat [...]
-</text><text class="breeze-ci-image-verify-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-7)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-7)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-ci-image-verify-line-7)">-python</text><text class="breeze-ci-image-verify-r6" x="195.2" y="190.8" textLength="24.4" clip- [...]
+</text><text class="breeze-ci-image-verify-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-7)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-7)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-ci-image-verify-line-7)">-python</text><text class="breeze-ci-image-verify-r6" x="195.2" y="190.8" textLength="24.4" clip- [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-8)">│</text><text class="breeze-ci-image-verify-r5" x="244" y="215.2" textLength="732" clip-path="url(#breeze-ci-image-verify-line-8)">[default:&#160;3.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;&#1 [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-9)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-9)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="239.6" textLength="73.2" clip-path="url(#breeze-ci-image-verify-line-9)">-image</text><text class="breeze-ci-image-verify-r4" x="109.8" y="239.6" textLength="48.8" clip-p [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-10)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-10)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="264" textLength="61" clip-path="url(#breeze-ci-image-verify-line-10)">-pull</text><text class="breeze-ci-image-verify-r1" x="244" y="264" textLength="646.6" clip-path="url( [...]
@@ -168,7 +168,7 @@
 </text><text class="breeze-ci-image-verify-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-15)">│</text><text class="breeze-ci-image-verify-r7" x="378.2" y="386" textLength="915" clip-path="url(#breeze-ci-image-verify-line-15)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-ci-image-verify-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-16)">│</text><text class="breeze-ci-image-verify-r5" x="378.2" y="410.4" textLength="915" clip-path="url(#breeze-ci-image-verify-line-16)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-17)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-17)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="434.8" textLength="85.4" clip-path="url(#breeze-ci-image-verify-line-17)">-python</text><text class="breeze-ci-image-verify-r4" x="122" y="434.8" textLength="109.8" cli [...]
-</text><text class="breeze-ci-image-verify-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-18)">│</text><text class="breeze-ci-image-verify-r5" x="378.2" y="459.2" textLength="951.6" clip-path="url(#breeze-ci-image-verify-line-18)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&#16 [...]
+</text><text class="breeze-ci-image-verify-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-18)">│</text><text class="breeze-ci-image-verify-r5" x="378.2" y="459.2" textLength="951.6" clip-path="url(#breeze-ci-image-verify-line-18)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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; [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-19)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-19)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="483.6" textLength="61" clip-path="url(#breeze-ci-image-verify-line-19)">-skip</text><text class="breeze-ci-image-verify-r4" x="97.6" y="483.6" textLength="97.6" clip-pa [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-20)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-20)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="508" textLength="73.2" clip-path="url(#breeze-ci-image-verify-line-20)">-debug</text><text class="breeze-ci-image-verify-r4" x="109.8" y="508" textLength="122" clip-path="u [...]
 </text><text class="breeze-ci-image-verify-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-21)">│</text><text class="breeze-ci-image-verify-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-ci-image-verify-line-21)">-</text><text class="breeze-ci-image-verify-r4" x="36.6" y="532.4" textLength="97.6" clip-path="url(#breeze-ci-image-verify-line-21)">-include</text><text class="breeze-ci-image-verify-r4" x="134.2" y="532.4" textLength="195.2"  [...]
diff --git a/dev/breeze/doc/images/output_ci-image_verify.txt b/dev/breeze/doc/images/output_ci-image_verify.txt
index f454443f68..bad4f7d8a8 100644
--- a/dev/breeze/doc/images/output_ci-image_verify.txt
+++ b/dev/breeze/doc/images/output_ci-image_verify.txt
@@ -1 +1 @@
-707a149f99bd49d37be5b8d0db844d69
+ec059842b7c4c41db33a6362a361b0ef
diff --git a/dev/breeze/doc/images/output_k8s_build-k8s-image.svg b/dev/breeze/doc/images/output_k8s_build-k8s-image.svg
index 362f24d0e8..ddabddce54 100644
--- a/dev/breeze/doc/images/output_k8s_build-k8s-image.svg
+++ b/dev/breeze/doc/images/output_k8s_build-k8s-image.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 708.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 733.1999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-build-k8s-image-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="657.8" />
+      <rect x="0" y="0" width="1463.0" height="682.1999999999999" />
     </clipPath>
     <clipPath id="breeze-k8s-build-k8s-image-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -123,9 +123,12 @@
 <clipPath id="breeze-k8s-build-k8s-image-line-25">
     <rect x="0" y="611.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-build-k8s-image-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="706.8" rx="8"/><text class="breeze-k8s-build-k8s-image-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;build-k8s-image</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="breeze-k8s-build-k8s-image-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;build-k8s-image</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -141,27 +144,28 @@
 </text><text class="breeze-k8s-build-k8s-image-r1" x="12.2" y="93.2" textLength="805.2" clip-path="url(#breeze-k8s-build-k8s-image-line-3)">Build&#160;k8s-ready&#160;airflow&#160;image&#160;(optionally&#160;all&#160;images&#160;in&#160;parallel).</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-3)">
 </text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-4)">
 </text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-build-k8s-image-line-5)">╭─</text><text class="breeze-k8s-build-k8s-image-r5" x="24.4" y="142" textLength="231.8" clip-path="url(#breeze-k8s-build-k8s-image-line-5)">&#160;Build&#160;image&#160;flags&#160;</text><text class="breeze-k8s-build-k8s-image-r5" x="256.2" y="142" textLength="1183.4" clip-path="url(#breeze-k8s-build-k8s-image-line-5)">──────────────────────────────────── [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">-python</text><text class="breeze-k8s-build-k8s-image-r6" x="292.8" y="16 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-7)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-build-k8s-image-line-7)">[default:&#160;3.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;&#1 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-8)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-8)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-8)">-rebuild</text><text class="breeze-k8s-build-k8s-image-r4" x="134.2" y="2 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="239.6" textLength="73.2" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">-image</text><text class="breeze-k8s-build-k8s-image-r4" x="109.8" y="239 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="264" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-10)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="264" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-10)">
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="288.4" textLength="24.4" clip-path="url(#breeze-k8s-build-k8s-image-line-11)">╭─</text><text class="breeze-k8s-build-k8s-image-r5" x="24.4" y="288.4" textLength="219.6" clip-path="url(#breeze-k8s-build-k8s-image-line-11)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-build-k8s-image-r5" x="244" y="288.4" textLength="1195.6" clip-path="url(#breeze-k8s-build-k8s-image-line-11)">─────────────────────────────────── [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">-run</text><text class="breeze-k8s-build-k8s-image-r4" x="85.4" y="312 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="337.2" textLength="146.4" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">-parallelism</text><text class="breeze-k8s-build-k8s-image-r1" x="378 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-14)">│</text><text class="breeze-k8s-build-k8s-image-r7" x="378.2" y="361.6" textLength="915" clip-path="url(#breeze-k8s-build-k8s-image-line-14)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-build-k8s-image-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-15)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="378.2" y="386" textLength="915" clip-path="url(#breeze-k8s-build-k8s-image-line-15)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-16)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-16)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="410.4" textLength="85.4" clip-path="url(#breeze-k8s-build-k8s-image-line-16)">-python</text><text class="breeze-k8s-build-k8s-image-r4" x="122" y="4 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-17)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="378.2" y="434.8" textLength="951.6" clip-path="url(#breeze-k8s-build-k8s-image-line-17)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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; [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-18)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-18)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="459.2" textLength="61" clip-path="url(#breeze-k8s-build-k8s-image-line-18)">-skip</text><text class="breeze-k8s-build-k8s-image-r4" x="97.6" y="459. [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="483.6" textLength="73.2" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">-debug</text><text class="breeze-k8s-build-k8s-image-r4" x="109.8" y=" [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="508" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">-include</text><text class="breeze-k8s-build-k8s-image-r4" x="134.2" y="508" [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="532.4" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-21)">
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="556.8" textLength="24.4" clip-path="url(#breeze-k8s-build-k8s-image-line-22)">╭─</text><text class="breeze-k8s-build-k8s-image-r5" x="24.4" y="556.8" textLength="195.2" clip-path="url(#breeze-k8s-build-k8s-image-line-22)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-build-k8s-image-r5" x="219.6" y="556.8" textLength="1220" clip-path="url(#breeze-k8s-build-k8s-image-line-22)">───────────────────────────────────── [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="581.2" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">-verbose</text><text class="breeze-k8s-build-k8s-image-r6" x="158.6" y [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="605.6" textLength="48.8" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">-dry</text><text class="breeze-k8s-build-k8s-image-r4" x="85.4" y="605 [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="630" textLength="61" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">-help</text><text class="breeze-k8s-build-k8s-image-r6" x="158.6" y="630" text [...]
-</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="654.4" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-26)">
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-build-k8s-image-line-6)">-python</text><text class="breeze-k8s-build-k8s-image-r6" x="292.8" y="16 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-7)">│</text><text class="breeze-k8s-build-k8s-image-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-build-k8s-image-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-k8s-build-k8s-image-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-8)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-build-k8s-image-line-8)">[default:&#160;3.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;&#1 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-9)">-rebuild</text><text class="breeze-k8s-build-k8s-image-r4" x="134.2" y="2 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-10)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-10)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="264" textLength="73.2" clip-path="url(#breeze-k8s-build-k8s-image-line-10)">-image</text><text class="breeze-k8s-build-k8s-image-r4" x="109.8" y="264" t [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-11)">
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">╭─</text><text class="breeze-k8s-build-k8s-image-r5" x="24.4" y="312.8" textLength="219.6" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-build-k8s-image-r5" x="244" y="312.8" textLength="1195.6" clip-path="url(#breeze-k8s-build-k8s-image-line-12)">─────────────────────────────────── [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="337.2" textLength="48.8" clip-path="url(#breeze-k8s-build-k8s-image-line-13)">-run</text><text class="breeze-k8s-build-k8s-image-r4" x="85.4" y="337 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-14)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-14)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="361.6" textLength="146.4" clip-path="url(#breeze-k8s-build-k8s-image-line-14)">-parallelism</text><text class="breeze-k8s-build-k8s-image-r1" x="378 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-15)">│</text><text class="breeze-k8s-build-k8s-image-r7" x="378.2" y="386" textLength="915" clip-path="url(#breeze-k8s-build-k8s-image-line-15)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-build-k8s-image-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-16)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="378.2" y="410.4" textLength="915" clip-path="url(#breeze-k8s-build-k8s-image-line-16)">[default:&#160;4;&#160;1&lt;=x&lt;=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;& [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-17)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-17)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="434.8" textLength="85.4" clip-path="url(#breeze-k8s-build-k8s-image-line-17)">-python</text><text class="breeze-k8s-build-k8s-image-r4" x="122" y="4 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-18)">│</text><text class="breeze-k8s-build-k8s-image-r5" x="378.2" y="459.2" textLength="951.6" clip-path="url(#breeze-k8s-build-k8s-image-line-18)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&# [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="483.6" textLength="61" clip-path="url(#breeze-k8s-build-k8s-image-line-19)">-skip</text><text class="breeze-k8s-build-k8s-image-r4" x="97.6" y="483. [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="508" textLength="73.2" clip-path="url(#breeze-k8s-build-k8s-image-line-20)">-debug</text><text class="breeze-k8s-build-k8s-image-r4" x="109.8" y="508" t [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-21)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-21)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="532.4" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-21)">-include</text><text class="breeze-k8s-build-k8s-image-r4" x="134.2" y [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="556.8" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-22)">
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="581.2" textLength="24.4" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">╭─</text><text class="breeze-k8s-build-k8s-image-r5" x="24.4" y="581.2" textLength="195.2" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-build-k8s-image-r5" x="219.6" y="581.2" textLength="1220" clip-path="url(#breeze-k8s-build-k8s-image-line-23)">───────────────────────────────────── [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="605.6" textLength="97.6" clip-path="url(#breeze-k8s-build-k8s-image-line-24)">-verbose</text><text class="breeze-k8s-build-k8s-image-r6" x="158.6" y [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="630" textLength="48.8" clip-path="url(#breeze-k8s-build-k8s-image-line-25)">-dry</text><text class="breeze-k8s-build-k8s-image-r4" x="85.4" y="630" text [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-26)">│</text><text class="breeze-k8s-build-k8s-image-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-26)">-</text><text class="breeze-k8s-build-k8s-image-r4" x="36.6" y="654.4" textLength="61" clip-path="url(#breeze-k8s-build-k8s-image-line-26)">-help</text><text class="breeze-k8s-build-k8s-image-r6" x="158.6" y="654 [...]
+</text><text class="breeze-k8s-build-k8s-image-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-k8s-build-k8s-image-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-build-k8s-image-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-build-k8s-image-line-27)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_build-k8s-image.txt b/dev/breeze/doc/images/output_k8s_build-k8s-image.txt
index ee7491ec5c..a27ce4e094 100644
--- a/dev/breeze/doc/images/output_k8s_build-k8s-image.txt
+++ b/dev/breeze/doc/images/output_k8s_build-k8s-image.txt
@@ -1 +1 @@
-b625255c3e8f3f794ee404f9a4476836
+c3cf7a80eeecc93e5ddc74c47a511957
diff --git a/dev/breeze/doc/images/output_k8s_configure-cluster.svg b/dev/breeze/doc/images/output_k8s_configure-cluster.svg
index e0c298e6c4..0a3e540852 100644
--- a/dev/breeze/doc/images/output_k8s_configure-cluster.svg
+++ b/dev/breeze/doc/images/output_k8s_configure-cluster.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 830.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 855.1999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-configure-cluster-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="779.8" />
+      <rect x="0" y="0" width="1463.0" height="804.1999999999999" />
     </clipPath>
     <clipPath id="breeze-k8s-configure-cluster-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -138,9 +138,12 @@
 <clipPath id="breeze-k8s-configure-cluster-line-30">
     <rect x="0" y="733.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-configure-cluster-line-31">
+    <rect x="0" y="757.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="828.8" rx="8"/><text class="breeze-k8s-configure-cluster-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;configure-cluster</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="853.2" rx="8"/><text class="breeze-k8s-configure-cluster-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;configure-cluster</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -157,31 +160,32 @@
 </text><text class="breeze-k8s-configure-cluster-r1" x="12.2" y="117.6" textLength="122" clip-path="url(#breeze-k8s-configure-cluster-line-4)">parallel).</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-4)">
 </text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="142" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-5)">
 </text><text class="breeze-k8s-configure-cluster-r5" x="0" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-configure-cluster-line-6)">╭─</text><text class="breeze-k8s-configure-cluster-r5" x="24.4" y="166.4" textLength="305" clip-path="url(#breeze-k8s-configure-cluster-line-6)">&#160;Configure&#160;cluster&#160;flags&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="329.4" y="166.4" textLength="1110.2" clip-path="url(#breeze-k8s-configure-cluster-line-6)">────────────── [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-7)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-7)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-k8s-configure-cluster-line-7)">-python</text><text class="breeze-k8s-configure-cluster-r6" x [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-8)">│</text><text class="breeze-k8s-configure-cluster-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-configure-cluster-line-8)">[default:&#160;3.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;& [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-9)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-9)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-configure-cluster-line-9)">-kubernetes</text><text class="breeze-k8s-configure-cluster- [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-10)">│</text><text class="breeze-k8s-configure-cluster-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-configure-cluster-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="1451.8" y="264" textLength="12.2" clip-p [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-11)">│</text><text class="breeze-k8s-configure-cluster-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-configure-cluster-line-11)">[default:&#160;v1.25.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;&#16 [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-12)">
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-configure-cluster-line-13)">╭─</text><text class="breeze-k8s-configure-cluster-r5" x="24.4" y="337.2" textLength="219.6" clip-path="url(#breeze-k8s-configure-cluster-line-13)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="244" y="337.2" textLength="1195.6" clip-path="url(#breeze-k8s-configure-cluster-line-13)">─────────────────────── [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-14)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-14)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="361.6" textLength="48.8" clip-path="url(#breeze-k8s-configure-cluster-line-14)">-run</text><text class="breeze-k8s-configure-cluster-r4" x [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-15)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-15)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="386" textLength="146.4" clip-path="url(#breeze-k8s-configure-cluster-line-15)">-parallelism</text><text class="breeze-k8s-configure-cluster-r1 [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-16)">│</text><text class="breeze-k8s-configure-cluster-r1" x="378.2" y="410.4" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-16)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-configure-cluster-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-17)">│</text><text class="breeze-k8s-configure-cluster-r7" x="378.2" y="434.8" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-17)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-configure-cluster-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-18)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="459.2" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-18)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-19)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-19)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-k8s-configure-cluster-line-19)">-python</text><text class="breeze-k8s-configure-cluster-r4 [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-20)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="508" textLength="951.6" clip-path="url(#breeze-k8s-configure-cluster-line-20)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&# [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-21)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-21)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="532.4" textLength="134.2" clip-path="url(#breeze-k8s-configure-cluster-line-21)">-kubernetes</text><text class="breeze-k8s-configure-clust [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-22)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="556.8" textLength="756.4" clip-path="url(#breeze-k8s-configure-cluster-line-22)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="1451 [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-23)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-23)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="581.2" textLength="61" clip-path="url(#breeze-k8s-configure-cluster-line-23)">-skip</text><text class="breeze-k8s-configure-cluster-r4" x= [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-24)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-24)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="605.6" textLength="73.2" clip-path="url(#breeze-k8s-configure-cluster-line-24)">-debug</text><text class="breeze-k8s-configure-cluster-r4" [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-25)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-25)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="630" textLength="97.6" clip-path="url(#breeze-k8s-configure-cluster-line-25)">-include</text><text class="breeze-k8s-configure-cluster-r4" x=" [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="654.4" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-26)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-26)">
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="678.8" textLength="24.4" clip-path="url(#breeze-k8s-configure-cluster-line-27)">╭─</text><text class="breeze-k8s-configure-cluster-r5" x="24.4" y="678.8" textLength="195.2" clip-path="url(#breeze-k8s-configure-cluster-line-27)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="219.6" y="678.8" textLength="1220" clip-path="url(#breeze-k8s-configure-cluster-line-27)">───────────────────────── [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-28)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-28)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="703.2" textLength="97.6" clip-path="url(#breeze-k8s-configure-cluster-line-28)">-verbose</text><text class="breeze-k8s-configure-cluster-r [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-29)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-29)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="727.6" textLength="48.8" clip-path="url(#breeze-k8s-configure-cluster-line-29)">-dry</text><text class="breeze-k8s-configure-cluster-r4" x [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-30)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-30)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="752" textLength="61" clip-path="url(#breeze-k8s-configure-cluster-line-30)">-help</text><text class="breeze-k8s-configure-cluster-r6" x="158.6 [...]
-</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="776.4" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-31)">
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-7)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-7)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-k8s-configure-cluster-line-7)">-python</text><text class="breeze-k8s-configure-cluster-r6" x [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-8)">│</text><text class="breeze-k8s-configure-cluster-r7" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-configure-cluster-line-8)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-9)">│</text><text class="breeze-k8s-configure-cluster-r5" x="341.6" y="239.6" textLength="732" clip-path="url(#breeze-k8s-configure-cluster-line-9)">[default:&#160;3.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;& [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-10)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-10)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="264" textLength="134.2" clip-path="url(#breeze-k8s-configure-cluster-line-10)">-kubernetes</text><text class="breeze-k8s-configure-cluster-r4" [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-11)">│</text><text class="breeze-k8s-configure-cluster-r7" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-configure-cluster-line-11)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="1451.8" y="288.4" textLength="12.2"  [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-12)">│</text><text class="breeze-k8s-configure-cluster-r5" x="341.6" y="312.8" textLength="658.8" clip-path="url(#breeze-k8s-configure-cluster-line-12)">[default:&#160;v1.25.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;&#16 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-13)">
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-configure-cluster-line-14)">╭─</text><text class="breeze-k8s-configure-cluster-r5" x="24.4" y="361.6" textLength="219.6" clip-path="url(#breeze-k8s-configure-cluster-line-14)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="244" y="361.6" textLength="1195.6" clip-path="url(#breeze-k8s-configure-cluster-line-14)">─────────────────────── [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-15)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-15)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-k8s-configure-cluster-line-15)">-run</text><text class="breeze-k8s-configure-cluster-r4" x="85.4 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-16)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-16)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="410.4" textLength="146.4" clip-path="url(#breeze-k8s-configure-cluster-line-16)">-parallelism</text><text class="breeze-k8s-configure-clus [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-17)">│</text><text class="breeze-k8s-configure-cluster-r1" x="378.2" y="434.8" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-17)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-configure-cluster-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-18)">│</text><text class="breeze-k8s-configure-cluster-r7" x="378.2" y="459.2" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-18)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-configure-cluster-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-19)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="483.6" textLength="1061.4" clip-path="url(#breeze-k8s-configure-cluster-line-19)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-20)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-20)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="508" textLength="85.4" clip-path="url(#breeze-k8s-configure-cluster-line-20)">-python</text><text class="breeze-k8s-configure-cluster-r4" x="1 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-21)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="532.4" textLength="951.6" clip-path="url(#breeze-k8s-configure-cluster-line-21)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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; [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-22)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-22)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="556.8" textLength="134.2" clip-path="url(#breeze-k8s-configure-cluster-line-22)">-kubernetes</text><text class="breeze-k8s-configure-clust [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-23)">│</text><text class="breeze-k8s-configure-cluster-r5" x="378.2" y="581.2" textLength="756.4" clip-path="url(#breeze-k8s-configure-cluster-line-23)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="1451 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-24)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-24)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="605.6" textLength="61" clip-path="url(#breeze-k8s-configure-cluster-line-24)">-skip</text><text class="breeze-k8s-configure-cluster-r4" x= [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-25)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-25)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="630" textLength="73.2" clip-path="url(#breeze-k8s-configure-cluster-line-25)">-debug</text><text class="breeze-k8s-configure-cluster-r4" x="10 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-26)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-26)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="654.4" textLength="97.6" clip-path="url(#breeze-k8s-configure-cluster-line-26)">-include</text><text class="breeze-k8s-configure-cluster-r [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-27)">
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="703.2" textLength="24.4" clip-path="url(#breeze-k8s-configure-cluster-line-28)">╭─</text><text class="breeze-k8s-configure-cluster-r5" x="24.4" y="703.2" textLength="195.2" clip-path="url(#breeze-k8s-configure-cluster-line-28)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-configure-cluster-r5" x="219.6" y="703.2" textLength="1220" clip-path="url(#breeze-k8s-configure-cluster-line-28)">───────────────────────── [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-29)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-29)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="727.6" textLength="97.6" clip-path="url(#breeze-k8s-configure-cluster-line-29)">-verbose</text><text class="breeze-k8s-configure-cluster-r [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-30)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-30)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="752" textLength="48.8" clip-path="url(#breeze-k8s-configure-cluster-line-30)">-dry</text><text class="breeze-k8s-configure-cluster-r4" x="85.4 [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-31)">│</text><text class="breeze-k8s-configure-cluster-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-31)">-</text><text class="breeze-k8s-configure-cluster-r4" x="36.6" y="776.4" textLength="61" clip-path="url(#breeze-k8s-configure-cluster-line-31)">-help</text><text class="breeze-k8s-configure-cluster-r6" x= [...]
+</text><text class="breeze-k8s-configure-cluster-r5" x="0" y="800.8" textLength="1464" clip-path="url(#breeze-k8s-configure-cluster-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-configure-cluster-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-configure-cluster-line-32)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_configure-cluster.txt b/dev/breeze/doc/images/output_k8s_configure-cluster.txt
index 6076641228..0daebf58e2 100644
--- a/dev/breeze/doc/images/output_k8s_configure-cluster.txt
+++ b/dev/breeze/doc/images/output_k8s_configure-cluster.txt
@@ -1 +1 @@
-dbc486330002aa424c8245f1f60afd61
+8f319ba66028f112ffc951375e6be828
diff --git a/dev/breeze/doc/images/output_k8s_create-cluster.svg b/dev/breeze/doc/images/output_k8s_create-cluster.svg
index daf7abdca7..f6bb74831d 100644
--- a/dev/breeze/doc/images/output_k8s_create-cluster.svg
+++ b/dev/breeze/doc/images/output_k8s_create-cluster.svg
@@ -160,7 +160,7 @@
 </text><text class="breeze-k8s-create-cluster-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-4)">
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-create-cluster-line-5)">╭─</text><text class="breeze-k8s-create-cluster-r5" x="24.4" y="142" textLength="341.6" clip-path="url(#breeze-k8s-create-cluster-line-5)">&#160;K8S&#160;cluster&#160;creation&#160;flags&#160;</text><text class="breeze-k8s-create-cluster-r5" x="366" y="142" textLength="1073.6" clip-path="url(#breeze-k8s-create-cluster-line-5)">────────────────────────────── [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-6)">│</text><text class="breeze-k8s-create-cluster-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-6)">-</text><text class="breeze-k8s-create-cluster-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-create-cluster-line-6)">-python</text><text class="breeze-k8s-create-cluster-r6" x="341.6" y="166.4" te [...]
-</text><text class="breeze-k8s-create-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-7)">│</text><text class="breeze-k8s-create-cluster-r7" x="390.4" y="190.8" textLength="732" clip-path="url(#breeze-k8s-create-cluster-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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 [...]
+</text><text class="breeze-k8s-create-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-7)">│</text><text class="breeze-k8s-create-cluster-r7" x="390.4" y="190.8" textLength="732" clip-path="url(#breeze-k8s-create-cluster-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-k8s-create-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-8)">│</text><text class="breeze-k8s-create-cluster-r5" x="390.4" y="215.2" textLength="732" clip-path="url(#breeze-k8s-create-cluster-line-8)">[default:&#160;3.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;& [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-9)">│</text><text class="breeze-k8s-create-cluster-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-9)">-</text><text class="breeze-k8s-create-cluster-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-create-cluster-line-9)">-kubernetes</text><text class="breeze-k8s-create-cluster-r4" x="170.8" y="239. [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-10)">│</text><text class="breeze-k8s-create-cluster-r7" x="390.4" y="264" textLength="658.8" clip-path="url(#breeze-k8s-create-cluster-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-create-cluster-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breez [...]
@@ -174,7 +174,7 @@
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-18)">│</text><text class="breeze-k8s-create-cluster-r7" x="378.2" y="459.2" textLength="1061.4" clip-path="url(#breeze-k8s-create-cluster-line-18)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-create-cluster-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-19)">│</text><text class="breeze-k8s-create-cluster-r5" x="378.2" y="483.6" textLength="1061.4" clip-path="url(#breeze-k8s-create-cluster-line-19)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-20)">│</text><text class="breeze-k8s-create-cluster-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-20)">-</text><text class="breeze-k8s-create-cluster-r4" x="36.6" y="508" textLength="85.4" clip-path="url(#breeze-k8s-create-cluster-line-20)">-python</text><text class="breeze-k8s-create-cluster-r4" x="122" y="508" textLengt [...]
-</text><text class="breeze-k8s-create-cluster-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-21)">│</text><text class="breeze-k8s-create-cluster-r5" x="378.2" y="532.4" textLength="951.6" clip-path="url(#breeze-k8s-create-cluster-line-21)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&#16 [...]
+</text><text class="breeze-k8s-create-cluster-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-21)">│</text><text class="breeze-k8s-create-cluster-r5" x="378.2" y="532.4" textLength="951.6" clip-path="url(#breeze-k8s-create-cluster-line-21)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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; [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-22)">│</text><text class="breeze-k8s-create-cluster-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-22)">-</text><text class="breeze-k8s-create-cluster-r4" x="36.6" y="556.8" textLength="134.2" clip-path="url(#breeze-k8s-create-cluster-line-22)">-kubernetes</text><text class="breeze-k8s-create-cluster-r4" x="170.8" y="5 [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-23)">│</text><text class="breeze-k8s-create-cluster-r5" x="378.2" y="581.2" textLength="756.4" clip-path="url(#breeze-k8s-create-cluster-line-23)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-create-cluster-r5" x="1451.8" y="581.2" t [...]
 </text><text class="breeze-k8s-create-cluster-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-24)">│</text><text class="breeze-k8s-create-cluster-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-create-cluster-line-24)">-</text><text class="breeze-k8s-create-cluster-r4" x="36.6" y="605.6" textLength="61" clip-path="url(#breeze-k8s-create-cluster-line-24)">-skip</text><text class="breeze-k8s-create-cluster-r4" x="97.6" y="605.6" text [...]
diff --git a/dev/breeze/doc/images/output_k8s_create-cluster.txt b/dev/breeze/doc/images/output_k8s_create-cluster.txt
index a43c091256..12f6df753b 100644
--- a/dev/breeze/doc/images/output_k8s_create-cluster.txt
+++ b/dev/breeze/doc/images/output_k8s_create-cluster.txt
@@ -1 +1 @@
-7c88a610871bcb3a9b056fff6b23cb59
+3ded28206cb71b47180300a262d4cb4b
diff --git a/dev/breeze/doc/images/output_k8s_delete-cluster.svg b/dev/breeze/doc/images/output_k8s_delete-cluster.svg
index 9c1f82748a..509db13fb6 100644
--- a/dev/breeze/doc/images/output_k8s_delete-cluster.svg
+++ b/dev/breeze/doc/images/output_k8s_delete-cluster.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 489.2" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 513.5999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-delete-cluster-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="438.2" />
+      <rect x="0" y="0" width="1463.0" height="462.59999999999997" />
     </clipPath>
     <clipPath id="breeze-k8s-delete-cluster-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -96,9 +96,12 @@
 <clipPath id="breeze-k8s-delete-cluster-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-delete-cluster-line-17">
+    <rect x="0" y="416.3" 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="487.2" rx="8"/><text class="breeze-k8s-delete-cluster-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;delete-cluster</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="511.6" rx="8"/><text class="breeze-k8s-delete-cluster-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;delete-cluster</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -114,18 +117,19 @@
 </text><text class="breeze-k8s-delete-cluster-r1" x="12.2" y="93.2" textLength="707.6" clip-path="url(#breeze-k8s-delete-cluster-line-3)">Delete&#160;the&#160;current&#160;KinD&#160;Cluster&#160;(optionally&#160;all&#160;clusters).</text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-3)">
 </text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-4)">
 </text><text class="breeze-k8s-delete-cluster-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-delete-cluster-line-5)">╭─</text><text class="breeze-k8s-delete-cluster-r5" x="24.4" y="142" textLength="317.2" clip-path="url(#breeze-k8s-delete-cluster-line-5)">&#160;K8S&#160;cluster&#160;delete&#160;flags&#160;</text><text class="breeze-k8s-delete-cluster-r5" x="341.6" y="142" textLength="1098" clip-path="url(#breeze-k8s-delete-cluster-line-5)">──────────────────────────────── [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-6)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-6)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-delete-cluster-line-6)">-python</text><text class="breeze-k8s-delete-cluster-r6" x="292.8" y="166.4" te [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-7)">│</text><text class="breeze-k8s-delete-cluster-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-delete-cluster-line-7)">[default:&#160;3.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;& [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-8)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-8)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-delete-cluster-line-8)">-kubernetes</text><text class="breeze-k8s-delete-cluster-r4" x="170.8" y="215. [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-9)">│</text><text class="breeze-k8s-delete-cluster-r7" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-delete-cluster-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-delete-cluster-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#b [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-10)">│</text><text class="breeze-k8s-delete-cluster-r5" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-delete-cluster-line-10)">[default:&#160;v1.25.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;&# [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-11)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-11)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="288.4" textLength="48.8" clip-path="url(#breeze-k8s-delete-cluster-line-11)">-all</text><text class="breeze-k8s-delete-cluster-r1" x="341.6" y="288.4" te [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-delete-cluster-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-12)">
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-delete-cluster-line-13)">╭─</text><text class="breeze-k8s-delete-cluster-r5" x="24.4" y="337.2" textLength="195.2" clip-path="url(#breeze-k8s-delete-cluster-line-13)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-delete-cluster-r5" x="219.6" y="337.2" textLength="1220" clip-path="url(#breeze-k8s-delete-cluster-line-13)">─────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-14)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-14)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="361.6" textLength="97.6" clip-path="url(#breeze-k8s-delete-cluster-line-14)">-verbose</text><text class="breeze-k8s-delete-cluster-r6" x="158.6" y="361.6 [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-15)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-15)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-k8s-delete-cluster-line-15)">-dry</text><text class="breeze-k8s-delete-cluster-r4" x="85.4" y="386" textLength= [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-16)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-16)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="410.4" textLength="61" clip-path="url(#breeze-k8s-delete-cluster-line-16)">-help</text><text class="breeze-k8s-delete-cluster-r6" x="158.6" y="410.4" tex [...]
-</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-delete-cluster-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-17)">
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-6)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-6)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-delete-cluster-line-6)">-python</text><text class="breeze-k8s-delete-cluster-r6" x="292.8" y="166.4" te [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-7)">│</text><text class="breeze-k8s-delete-cluster-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-delete-cluster-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-k8s-delete-cluster-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-8)">│</text><text class="breeze-k8s-delete-cluster-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-delete-cluster-line-8)">[default:&#160;3.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;& [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-9)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-9)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-delete-cluster-line-9)">-kubernetes</text><text class="breeze-k8s-delete-cluster-r4" x="170.8" y="239. [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-10)">│</text><text class="breeze-k8s-delete-cluster-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-delete-cluster-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-delete-cluster-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breez [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-11)">│</text><text class="breeze-k8s-delete-cluster-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-delete-cluster-line-11)">[default:&#160;v1.25.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;&#16 [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-12)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-12)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-k8s-delete-cluster-line-12)">-all</text><text class="breeze-k8s-delete-cluster-r1" x="341.6" y="312.8" te [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-k8s-delete-cluster-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-13)">
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-delete-cluster-line-14)">╭─</text><text class="breeze-k8s-delete-cluster-r5" x="24.4" y="361.6" textLength="195.2" clip-path="url(#breeze-k8s-delete-cluster-line-14)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-delete-cluster-r5" x="219.6" y="361.6" textLength="1220" clip-path="url(#breeze-k8s-delete-cluster-line-14)">─────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-15)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-15)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="386" textLength="97.6" clip-path="url(#breeze-k8s-delete-cluster-line-15)">-verbose</text><text class="breeze-k8s-delete-cluster-r6" x="158.6" y="386" textLe [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-16)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-16)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="410.4" textLength="48.8" clip-path="url(#breeze-k8s-delete-cluster-line-16)">-dry</text><text class="breeze-k8s-delete-cluster-r4" x="85.4" y="410.4" tex [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-17)">│</text><text class="breeze-k8s-delete-cluster-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-17)">-</text><text class="breeze-k8s-delete-cluster-r4" x="36.6" y="434.8" textLength="61" clip-path="url(#breeze-k8s-delete-cluster-line-17)">-help</text><text class="breeze-k8s-delete-cluster-r6" x="158.6" y="434.8" tex [...]
+</text><text class="breeze-k8s-delete-cluster-r5" x="0" y="459.2" textLength="1464" clip-path="url(#breeze-k8s-delete-cluster-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-delete-cluster-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-delete-cluster-line-18)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_delete-cluster.txt b/dev/breeze/doc/images/output_k8s_delete-cluster.txt
index a75d33a0ca..bbf2c5a7d6 100644
--- a/dev/breeze/doc/images/output_k8s_delete-cluster.txt
+++ b/dev/breeze/doc/images/output_k8s_delete-cluster.txt
@@ -1 +1 @@
-4a3947c3129b6b14b730f1bddc80a155
+51b7c9723341ff67567e89982f1aebba
diff --git a/dev/breeze/doc/images/output_k8s_deploy-airflow.svg b/dev/breeze/doc/images/output_k8s_deploy-airflow.svg
index 25b7b8f541..72c51ffc91 100644
--- a/dev/breeze/doc/images/output_k8s_deploy-airflow.svg
+++ b/dev/breeze/doc/images/output_k8s_deploy-airflow.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1001.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1026.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-deploy-airflow-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="950.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="975.0" />
     </clipPath>
     <clipPath id="breeze-k8s-deploy-airflow-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -159,9 +159,12 @@
 <clipPath id="breeze-k8s-deploy-airflow-line-37">
     <rect x="0" y="904.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-deploy-airflow-line-38">
+    <rect x="0" y="928.7" 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="999.6" rx="8"/><text class="breeze-k8s-deploy-airflow-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;deploy-airflow</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1024" rx="8"/><text class="breeze-k8s-deploy-airflow-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;deploy-airflow</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -177,39 +180,40 @@
 </text><text class="breeze-k8s-deploy-airflow-r1" x="12.2" y="93.2" textLength="817.4" clip-path="url(#breeze-k8s-deploy-airflow-line-3)">Deploy&#160;airflow&#160;image&#160;to&#160;the&#160;current&#160;KinD&#160;cluster&#160;(or&#160;all&#160;clusters).</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-3)">
 </text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-4)">
 </text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-deploy-airflow-line-5)">╭─</text><text class="breeze-k8s-deploy-airflow-r5" x="24.4" y="142" textLength="268.4" clip-path="url(#breeze-k8s-deploy-airflow-line-5)">&#160;Airflow&#160;deploy&#160;flags&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="292.8" y="142" textLength="1146.8" clip-path="url(#breeze-k8s-deploy-airflow-line-5)">─────────────────────────────────────── [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">-python</text><text class="breeze-k8s-deploy-airflow-r6" x="317.2" y="166.4" te [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-7)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="190.8" textLength="732" clip-path="url(#breeze-k8s-deploy-airflow-line-7)">[default:&#160;3.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;&#1 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-8)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-8)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-deploy-airflow-line-8)">-kubernetes</text><text class="breeze-k8s-deploy-airflow-r4" x="170.8" y="215. [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-9)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-deploy-airflow-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#bre [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-10)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="264" textLength="658.8" clip-path="url(#breeze-k8s-deploy-airflow-line-10)">[default:&#160;v1.25.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;&#16 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-11)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-11)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="288.4" textLength="109.8" clip-path="url(#breeze-k8s-deploy-airflow-line-11)">-executor</text><text class="breeze-k8s-deploy-airflow-r1" x="366" y="288.4 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-12)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="312.8" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-12)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8"  [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-13)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="337.2" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-13)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-14)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="361.6" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-14)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-15)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-15)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="386" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-15)">-upgrade</text><text class="breeze-k8s-deploy-airflow-r1" x="366" y="386" textLeng [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="410.4" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">-wait</text><text class="breeze-k8s-deploy-airflow-r4" x="97.6" y="410.4" text [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="434.8" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">-use</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="434.8" tex [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="459.2" textLength="73.2" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">-multi</text><text class="breeze-k8s-deploy-airflow-r4" x="109.8" y="459.2"  [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="483.6" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-19)">
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="508" textLength="24.4" clip-path="url(#breeze-k8s-deploy-airflow-line-20)">╭─</text><text class="breeze-k8s-deploy-airflow-r5" x="24.4" y="508" textLength="219.6" clip-path="url(#breeze-k8s-deploy-airflow-line-20)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="244" y="508" textLength="1195.6" clip-path="url(#breeze-k8s-deploy-airflow-line-20)">─────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="532.4" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">-run</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="532.4" tex [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="556.8" textLength="146.4" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">-parallelism</text><text class="breeze-k8s-deploy-airflow-r1" x="378.2" y=" [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-23)">│</text><text class="breeze-k8s-deploy-airflow-r1" x="378.2" y="581.2" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-23)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-24)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="378.2" y="605.6" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-24)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-25)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="630" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-25)">[default:&#160;2;&#160;1&lt;=x&lt;=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; [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-26)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-26)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="654.4" textLength="85.4" clip-path="url(#breeze-k8s-deploy-airflow-line-26)">-python</text><text class="breeze-k8s-deploy-airflow-r4" x="122" y="654.4" t [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-27)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="678.8" textLength="951.6" clip-path="url(#breeze-k8s-deploy-airflow-line-27)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&#16 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-28)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-28)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="703.2" textLength="134.2" clip-path="url(#breeze-k8s-deploy-airflow-line-28)">-kubernetes</text><text class="breeze-k8s-deploy-airflow-r4" x="170.8" y="7 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-29)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="727.6" textLength="756.4" clip-path="url(#breeze-k8s-deploy-airflow-line-29)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8" y="727.6" t [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-30)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-30)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="752" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-30)">-skip</text><text class="breeze-k8s-deploy-airflow-r4" x="97.6" y="752" textLength=" [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="776.4" textLength="73.2" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">-debug</text><text class="breeze-k8s-deploy-airflow-r4" x="109.8" y="776.4"  [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="800.8" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">-include</text><text class="breeze-k8s-deploy-airflow-r4" x="134.2" y="800.8 [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-33)">
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="849.6" textLength="24.4" clip-path="url(#breeze-k8s-deploy-airflow-line-34)">╭─</text><text class="breeze-k8s-deploy-airflow-r5" x="24.4" y="849.6" textLength="195.2" clip-path="url(#breeze-k8s-deploy-airflow-line-34)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="219.6" y="849.6" textLength="1220" clip-path="url(#breeze-k8s-deploy-airflow-line-34)">─────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="874" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">-verbose</text><text class="breeze-k8s-deploy-airflow-r6" x="158.6" y="874" textLe [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="898.4" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">-dry</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="898.4" tex [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="922.8" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">-help</text><text class="breeze-k8s-deploy-airflow-r6" x="158.6" y="922.8" tex [...]
-</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="947.2" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-38)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-38)">
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-deploy-airflow-line-6)">-python</text><text class="breeze-k8s-deploy-airflow-r6" x="317.2" y="166.4" te [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-7)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="190.8" textLength="732" clip-path="url(#breeze-k8s-deploy-airflow-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-k8s-deploy-airflow-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-8)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="215.2" textLength="732" clip-path="url(#breeze-k8s-deploy-airflow-line-8)">[default:&#160;3.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;&#1 [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-9)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-9)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-deploy-airflow-line-9)">-kubernetes</text><text class="breeze-k8s-deploy-airflow-r4" x="170.8" y="239. [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-10)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="264" textLength="658.8" clip-path="url(#breeze-k8s-deploy-airflow-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze- [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-11)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-deploy-airflow-line-11)">[default:&#160;v1.25.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; [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-12)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-12)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="312.8" textLength="109.8" clip-path="url(#breeze-k8s-deploy-airflow-line-12)">-executor</text><text class="breeze-k8s-deploy-airflow-r1" x="366" y="312.8 [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-13)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="337.2" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-13)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8"  [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-14)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="366" y="361.6" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-14)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-15)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="366" y="386" textLength="1073.6" clip-path="url(#breeze-k8s-deploy-airflow-line-15)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="410.4" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-16)">-upgrade</text><text class="breeze-k8s-deploy-airflow-r1" x="366" y="410.4"  [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="434.8" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-17)">-wait</text><text class="breeze-k8s-deploy-airflow-r4" x="97.6" y="434.8" text [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="459.2" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-18)">-use</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="459.2" tex [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-19)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-19)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="483.6" textLength="73.2" clip-path="url(#breeze-k8s-deploy-airflow-line-19)">-multi</text><text class="breeze-k8s-deploy-airflow-r4" x="109.8" y="483.6"  [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="508" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-20)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="508" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-20)">
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="532.4" textLength="24.4" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">╭─</text><text class="breeze-k8s-deploy-airflow-r5" x="24.4" y="532.4" textLength="219.6" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="244" y="532.4" textLength="1195.6" clip-path="url(#breeze-k8s-deploy-airflow-line-21)">───────────────────────────────────────── [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="556.8" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-22)">-run</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="556.8" tex [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-23)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-23)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="581.2" textLength="146.4" clip-path="url(#breeze-k8s-deploy-airflow-line-23)">-parallelism</text><text class="breeze-k8s-deploy-airflow-r1" x="378.2" y=" [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-24)">│</text><text class="breeze-k8s-deploy-airflow-r1" x="378.2" y="605.6" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-24)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-25)">│</text><text class="breeze-k8s-deploy-airflow-r7" x="378.2" y="630" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-25)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-deploy-airflow-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-26)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="654.4" textLength="1061.4" clip-path="url(#breeze-k8s-deploy-airflow-line-26)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-27)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-27)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="678.8" textLength="85.4" clip-path="url(#breeze-k8s-deploy-airflow-line-27)">-python</text><text class="breeze-k8s-deploy-airflow-r4" x="122" y="678.8" t [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-28)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="703.2" textLength="951.6" clip-path="url(#breeze-k8s-deploy-airflow-line-28)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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; [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-29)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-29)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="727.6" textLength="134.2" clip-path="url(#breeze-k8s-deploy-airflow-line-29)">-kubernetes</text><text class="breeze-k8s-deploy-airflow-r4" x="170.8" y="7 [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-30)">│</text><text class="breeze-k8s-deploy-airflow-r5" x="378.2" y="752" textLength="756.4" clip-path="url(#breeze-k8s-deploy-airflow-line-30)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="1451.8" y="752" textLen [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="776.4" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-31)">-skip</text><text class="breeze-k8s-deploy-airflow-r4" x="97.6" y="776.4" text [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="800.8" textLength="73.2" clip-path="url(#breeze-k8s-deploy-airflow-line-32)">-debug</text><text class="breeze-k8s-deploy-airflow-r4" x="109.8" y="800.8"  [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-33)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-33)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="825.2" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-33)">-include</text><text class="breeze-k8s-deploy-airflow-r4" x="134.2" y="825.2 [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-34)">
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="874" textLength="24.4" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">╭─</text><text class="breeze-k8s-deploy-airflow-r5" x="24.4" y="874" textLength="195.2" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-deploy-airflow-r5" x="219.6" y="874" textLength="1220" clip-path="url(#breeze-k8s-deploy-airflow-line-35)">───────────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="898.4" textLength="97.6" clip-path="url(#breeze-k8s-deploy-airflow-line-36)">-verbose</text><text class="breeze-k8s-deploy-airflow-r6" x="158.6" y="898.4 [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="922.8" textLength="48.8" clip-path="url(#breeze-k8s-deploy-airflow-line-37)">-dry</text><text class="breeze-k8s-deploy-airflow-r4" x="85.4" y="922.8" tex [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-38)">│</text><text class="breeze-k8s-deploy-airflow-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-38)">-</text><text class="breeze-k8s-deploy-airflow-r4" x="36.6" y="947.2" textLength="61" clip-path="url(#breeze-k8s-deploy-airflow-line-38)">-help</text><text class="breeze-k8s-deploy-airflow-r6" x="158.6" y="947.2" tex [...]
+</text><text class="breeze-k8s-deploy-airflow-r5" x="0" y="971.6" textLength="1464" clip-path="url(#breeze-k8s-deploy-airflow-line-39)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-deploy-airflow-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-k8s-deploy-airflow-line-39)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_deploy-airflow.txt b/dev/breeze/doc/images/output_k8s_deploy-airflow.txt
index 26da86efda..c952649ff9 100644
--- a/dev/breeze/doc/images/output_k8s_deploy-airflow.txt
+++ b/dev/breeze/doc/images/output_k8s_deploy-airflow.txt
@@ -1 +1 @@
-462ede926684192014531cef0efaf6eb
+4f9ec999728f3bde15a17efc238ac08d
diff --git a/dev/breeze/doc/images/output_k8s_k9s.svg b/dev/breeze/doc/images/output_k8s_k9s.svg
index 46ff5a53a3..c67db6065e 100644
--- a/dev/breeze/doc/images/output_k8s_k9s.svg
+++ b/dev/breeze/doc/images/output_k8s_k9s.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 464.79999999999995" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 489.2" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-k9s-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="413.79999999999995" />
+      <rect x="0" y="0" width="1463.0" height="438.2" />
     </clipPath>
     <clipPath id="breeze-k8s-k9s-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -93,9 +93,12 @@
 <clipPath id="breeze-k8s-k9s-line-15">
     <rect x="0" y="367.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-k9s-line-16">
+    <rect x="0" y="391.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="462.8" rx="8"/><text class="breeze-k8s-k9s-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;k9s</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="487.2" rx="8"/><text class="breeze-k8s-k9s-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;k9s</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -111,17 +114,18 @@
 </text><text class="breeze-k8s-k9s-r1" x="12.2" y="93.2" textLength="658.8" clip-path="url(#breeze-k8s-k9s-line-3)">Run&#160;k9s&#160;tool.&#160;You&#160;can&#160;pass&#160;any&#160;k9s&#160;args&#160;as&#160;extra&#160;args.</text><text class="breeze-k8s-k9s-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-3)">
 </text><text class="breeze-k8s-k9s-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-4)">
 </text><text class="breeze-k8s-k9s-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-5)">╭─</text><text class="breeze-k8s-k9s-r5" x="24.4" y="142" textLength="183" clip-path="url(#breeze-k8s-k9s-line-5)">&#160;K8S&#160;k9s&#160;flags&#160;</text><text class="breeze-k8s-k9s-r5" x="207.4" y="142" textLength="1232.2" clip-path="url(#breeze-k8s-k9s-line-5)">─────────────────────────────────────────────────────────────────────────────────────────────────────</text><text  [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-6)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-6)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-k9s-line-6)">-python</text><text class="breeze-k8s-k9s-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-6)">-p</text><text class= [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-7)">│</text><text class="breeze-k8s-k9s-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-k9s-line-7)">[default:&#160;3.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;&#1 [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-8)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-8)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-k9s-line-8)">-kubernetes</text><text class="breeze-k8s-k9s-r4" x="170.8" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-k9s-line-8)">-version</text>< [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-9)">│</text><text class="breeze-k8s-k9s-r7" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-k9s-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-k9s-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-9)">│</text><text class="breeze-k8s- [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-10)">│</text><text class="breeze-k8s-k9s-r5" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-k9s-line-10)">[default:&#160;v1.25.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;</text><text class="breeze-k [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-k8s-k9s-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-k9s-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-11)">
-</text><text class="breeze-k8s-k9s-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-12)">╭─</text><text class="breeze-k8s-k9s-r5" x="24.4" y="312.8" textLength="195.2" clip-path="url(#breeze-k8s-k9s-line-12)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-k9s-r5" x="219.6" y="312.8" textLength="1220" clip-path="url(#breeze-k8s-k9s-line-12)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><t [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-13)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-13)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="337.2" textLength="97.6" clip-path="url(#breeze-k8s-k9s-line-13)">-verbose</text><text class="breeze-k8s-k9s-r6" x="158.6" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-13)">-v</text><text c [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-14)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-14)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="361.6" textLength="48.8" clip-path="url(#breeze-k8s-k9s-line-14)">-dry</text><text class="breeze-k8s-k9s-r4" x="85.4" y="361.6" textLength="48.8" clip-path="url(#breeze-k8s-k9s-line-14)">-run</text><text clas [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-15)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-15)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="386" textLength="61" clip-path="url(#breeze-k8s-k9s-line-15)">-help</text><text class="breeze-k8s-k9s-r6" x="158.6" y="386" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-15)">-h</text><text class="breeze- [...]
-</text><text class="breeze-k8s-k9s-r5" x="0" y="410.4" textLength="1464" clip-path="url(#breeze-k8s-k9s-line-16)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-k9s-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-16)">
+</text><text class="breeze-k8s-k9s-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-6)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-6)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-k9s-line-6)">-python</text><text class="breeze-k8s-k9s-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-6)">-p</text><text class= [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-7)">│</text><text class="breeze-k8s-k9s-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-k9s-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class="breeze [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-8)">│</text><text class="breeze-k8s-k9s-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-k9s-line-8)">[default:&#160;3.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;&#1 [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-9)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-9)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-k9s-line-9)">-kubernetes</text><text class="breeze-k8s-k9s-r4" x="170.8" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-k9s-line-9)">-version</text>< [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-10)">│</text><text class="breeze-k8s-k9s-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-k9s-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-k9s-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-10)">│</text><text class="breeze-k8s-k9s [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-11)">│</text><text class="breeze-k8s-k9s-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-k9s-line-11)">[default:&#160;v1.25.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;</text><text class="bree [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-k9s-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-k9s-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-12)">
+</text><text class="breeze-k8s-k9s-r5" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-13)">╭─</text><text class="breeze-k8s-k9s-r5" x="24.4" y="337.2" textLength="195.2" clip-path="url(#breeze-k8s-k9s-line-13)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-k9s-r5" x="219.6" y="337.2" textLength="1220" clip-path="url(#breeze-k8s-k9s-line-13)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><t [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-14)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-14)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="361.6" textLength="97.6" clip-path="url(#breeze-k8s-k9s-line-14)">-verbose</text><text class="breeze-k8s-k9s-r6" x="158.6" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-14)">-v</text><text c [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-15)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-15)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-k8s-k9s-line-15)">-dry</text><text class="breeze-k8s-k9s-r4" x="85.4" y="386" textLength="48.8" clip-path="url(#breeze-k8s-k9s-line-15)">-run</text><text class="breez [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-16)">│</text><text class="breeze-k8s-k9s-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-16)">-</text><text class="breeze-k8s-k9s-r4" x="36.6" y="410.4" textLength="61" clip-path="url(#breeze-k8s-k9s-line-16)">-help</text><text class="breeze-k8s-k9s-r6" x="158.6" y="410.4" textLength="24.4" clip-path="url(#breeze-k8s-k9s-line-16)">-h</text><text class= [...]
+</text><text class="breeze-k8s-k9s-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-k9s-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-k9s-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-k9s-line-17)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_k9s.txt b/dev/breeze/doc/images/output_k8s_k9s.txt
index 397656791e..911336c6e5 100644
--- a/dev/breeze/doc/images/output_k8s_k9s.txt
+++ b/dev/breeze/doc/images/output_k8s_k9s.txt
@@ -1 +1 @@
-6e3dc7675b01e32bcafdee3d8fba50c2
+815f4202dfd0aebc69e8e12a958b6aa4
diff --git a/dev/breeze/doc/images/output_k8s_logs.svg b/dev/breeze/doc/images/output_k8s_logs.svg
index 22fc37d29f..d53bdd2b3c 100644
--- a/dev/breeze/doc/images/output_k8s_logs.svg
+++ b/dev/breeze/doc/images/output_k8s_logs.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 489.2" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 513.5999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -44,7 +44,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-logs-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="438.2" />
+      <rect x="0" y="0" width="1463.0" height="462.59999999999997" />
     </clipPath>
     <clipPath id="breeze-k8s-logs-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -97,9 +97,12 @@
 <clipPath id="breeze-k8s-logs-line-16">
     <rect x="0" y="391.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-logs-line-17">
+    <rect x="0" y="416.3" 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="487.2" rx="8"/><text class="breeze-k8s-logs-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;logs</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="511.6" rx="8"/><text class="breeze-k8s-logs-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;logs</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -115,18 +118,19 @@
 </text><text class="breeze-k8s-logs-r1" x="12.2" y="93.2" textLength="463.6" clip-path="url(#breeze-k8s-logs-line-3)">Dump&#160;k8s&#160;logs&#160;to&#160;${TMP_DIR}/kind_logs_</text><text class="breeze-k8s-logs-r5" x="475.8" y="93.2" textLength="170.8" clip-path="url(#breeze-k8s-logs-line-3)">&lt;cluster_name&gt;</text><text class="breeze-k8s-logs-r1" x="646.6" y="93.2" textLength="451.4" clip-path="url(#breeze-k8s-logs-line-3)">&#160;directory&#160;(optionally&#160;all&#160;clusters).< [...]
 </text><text class="breeze-k8s-logs-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-4)">
 </text><text class="breeze-k8s-logs-r6" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-5)">╭─</text><text class="breeze-k8s-logs-r6" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-k8s-logs-line-5)">&#160;K8S&#160;logs&#160;flags&#160;</text><text class="breeze-k8s-logs-r6" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-k8s-logs-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text> [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-6)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-6)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-logs-line-6)">-python</text><text class="breeze-k8s-logs-r7" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-6)">-p</text><tex [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-7)">│</text><text class="breeze-k8s-logs-r6" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-logs-line-7)">[default:&#160;3.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 [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-8)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-8)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-logs-line-8)">-kubernetes</text><text class="breeze-k8s-logs-r4" x="170.8" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-logs-line-8)">-version [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-9)">│</text><text class="breeze-k8s-logs-r8" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-logs-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-logs-r6" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-9)">│</text><text class="breez [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-10)">│</text><text class="breeze-k8s-logs-r6" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-logs-line-10)">[default:&#160;v1.25.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;</text><text class="bree [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-11)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-11)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="288.4" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-11)">-all</text><text class="breeze-k8s-logs-r1" x="341.6" y="288.4" textLength="390.4" clip-path="url(#breeze-k8s-logs-line-11)">Apply&#160; [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-logs-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-logs-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-12)">
-</text><text class="breeze-k8s-logs-r6" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-13)">╭─</text><text class="breeze-k8s-logs-r6" x="24.4" y="337.2" textLength="195.2" clip-path="url(#breeze-k8s-logs-line-13)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-logs-r6" x="219.6" y="337.2" textLength="1220" clip-path="url(#breeze-k8s-logs-line-13)">────────────────────────────────────────────────────────────────────────────────────────────────────</t [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-14)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-14)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="361.6" textLength="97.6" clip-path="url(#breeze-k8s-logs-line-14)">-verbose</text><text class="breeze-k8s-logs-r7" x="158.6" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-14)">-v</text [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-15)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-15)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-15)">-dry</text><text class="breeze-k8s-logs-r4" x="85.4" y="386" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-15)">-run</text><text clas [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-16)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-16)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="410.4" textLength="61" clip-path="url(#breeze-k8s-logs-line-16)">-help</text><text class="breeze-k8s-logs-r7" x="158.6" y="410.4" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-16)">-h</text><tex [...]
-</text><text class="breeze-k8s-logs-r6" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-logs-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-logs-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-17)">
+</text><text class="breeze-k8s-logs-r6" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-6)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-6)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-logs-line-6)">-python</text><text class="breeze-k8s-logs-r7" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-6)">-p</text><tex [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-7)">│</text><text class="breeze-k8s-logs-r8" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-logs-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class="br [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-8)">│</text><text class="breeze-k8s-logs-r6" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-logs-line-8)">[default:&#160;3.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 [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-9)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-9)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-logs-line-9)">-kubernetes</text><text class="breeze-k8s-logs-r4" x="170.8" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-logs-line-9)">-version [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-10)">│</text><text class="breeze-k8s-logs-r8" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-logs-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-logs-r6" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-10)">│</text><text class="breeze-k [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-11)">│</text><text class="breeze-k8s-logs-r6" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-logs-line-11)">[default:&#160;v1.25.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;</text><text class=" [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-12)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-12)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-12)">-all</text><text class="breeze-k8s-logs-r1" x="341.6" y="312.8" textLength="390.4" clip-path="url(#breeze-k8s-logs-line-12)">Apply&#160; [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-k8s-logs-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-logs-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-13)">
+</text><text class="breeze-k8s-logs-r6" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-14)">╭─</text><text class="breeze-k8s-logs-r6" x="24.4" y="361.6" textLength="195.2" clip-path="url(#breeze-k8s-logs-line-14)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-logs-r6" x="219.6" y="361.6" textLength="1220" clip-path="url(#breeze-k8s-logs-line-14)">────────────────────────────────────────────────────────────────────────────────────────────────────</t [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-15)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-15)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="386" textLength="97.6" clip-path="url(#breeze-k8s-logs-line-15)">-verbose</text><text class="breeze-k8s-logs-r7" x="158.6" y="386" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-15)">-v</text><text c [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-16)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-16)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="410.4" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-16)">-dry</text><text class="breeze-k8s-logs-r4" x="85.4" y="410.4" textLength="48.8" clip-path="url(#breeze-k8s-logs-line-16)">-run</text><t [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-17)">│</text><text class="breeze-k8s-logs-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-17)">-</text><text class="breeze-k8s-logs-r4" x="36.6" y="434.8" textLength="61" clip-path="url(#breeze-k8s-logs-line-17)">-help</text><text class="breeze-k8s-logs-r7" x="158.6" y="434.8" textLength="24.4" clip-path="url(#breeze-k8s-logs-line-17)">-h</text><tex [...]
+</text><text class="breeze-k8s-logs-r6" x="0" y="459.2" textLength="1464" clip-path="url(#breeze-k8s-logs-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-logs-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-logs-line-18)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_logs.txt b/dev/breeze/doc/images/output_k8s_logs.txt
index a47473680b..bed87dcef8 100644
--- a/dev/breeze/doc/images/output_k8s_logs.txt
+++ b/dev/breeze/doc/images/output_k8s_logs.txt
@@ -1 +1 @@
-282a41985a318af938d250c6911c2e0b
+1f2c39963121e0fccaa1af474427a2aa
diff --git a/dev/breeze/doc/images/output_k8s_run-complete-tests.svg b/dev/breeze/doc/images/output_k8s_run-complete-tests.svg
index e0b79fb6b5..15cfc22b5c 100644
--- a/dev/breeze/doc/images/output_k8s_run-complete-tests.svg
+++ b/dev/breeze/doc/images/output_k8s_run-complete-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1245.6" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1270.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-run-complete-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1194.6" />
+      <rect x="0" y="0" width="1463.0" height="1219.0" />
     </clipPath>
     <clipPath id="breeze-k8s-run-complete-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -189,9 +189,12 @@
 <clipPath id="breeze-k8s-run-complete-tests-line-47">
     <rect x="0" y="1148.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-run-complete-tests-line-48">
+    <rect x="0" y="1172.7" 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="1243.6" rx="8"/><text class="breeze-k8s-run-complete-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;run-complete-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1268" rx="8"/><text class="breeze-k8s-run-complete-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;run-complete-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -220,36 +223,37 @@
 </text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-16)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-16)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="410.4" textLength="73.2" clip-path="url(#breeze-k8s-run-complete-tests-line-16)">-image</text><text class="breeze-k8s-run-complete-te [...]
 </text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-17)">
 </text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-run-complete-tests-line-18)">╭─</text><text class="breeze-k8s-run-complete-tests-r5" x="24.4" y="459.2" textLength="207.4" clip-path="url(#breeze-k8s-run-complete-tests-line-18)">&#160;K8S&#160;tests&#160;flags&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="231.8" y="459.2" textLength="1207.8" clip-path="url(#breeze-k8s-run-complete-tests-line-18)">─────────── [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">-python</text><text class="breeze-k8s-run-complete-t [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-20)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="508" textLength="732" clip-path="url(#breeze-k8s-run-complete-tests-line-20)">[default:&#160;3.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 [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-21)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-21)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="532.4" textLength="134.2" clip-path="url(#breeze-k8s-run-complete-tests-line-21)">-kubernetes</text><text class="breeze-k8s-run-compl [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-22)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="556.8" textLength="658.8" clip-path="url(#breeze-k8s-run-complete-tests-line-22)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="1451.8" y="556.8" textLength="1 [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-23)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="581.2" textLength="658.8" clip-path="url(#breeze-k8s-run-complete-tests-line-23)">[default:&#160;v1.25.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; [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-24)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-24)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="605.6" textLength="109.8" clip-path="url(#breeze-k8s-run-complete-tests-line-24)">-executor</text><text class="breeze-k8s-run-complet [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-25)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="630" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-25)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-run-co [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-26)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="654.4" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-26)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-27)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="678.8" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-27)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-28)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-28)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="703.2" textLength="73.2" clip-path="url(#breeze-k8s-run-complete-tests-line-28)">-force</text><text class="breeze-k8s-run-complete-te [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-29)">
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-k8s-run-complete-tests-line-30)">╭─</text><text class="breeze-k8s-run-complete-tests-r5" x="24.4" y="752" textLength="219.6" clip-path="url(#breeze-k8s-run-complete-tests-line-30)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="244" y="752" textLength="1195.6" clip-path="url(#breeze-k8s-run-complete-tests-line-30)">─────────────────────── [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="776.4" textLength="48.8" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">-run</text><text class="breeze-k8s-run-complete-test [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="800.8" textLength="146.4" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">-parallelism</text><text class="breeze-k8s-run-comp [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-33)">│</text><text class="breeze-k8s-run-complete-tests-r1" x="378.2" y="825.2" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-33)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-34)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="378.2" y="849.6" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-34)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-35)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="874" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-35)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-36)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-36)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="898.4" textLength="85.4" clip-path="url(#breeze-k8s-run-complete-tests-line-36)">-python</text><text class="breeze-k8s-run-complete-t [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-37)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="922.8" textLength="951.6" clip-path="url(#breeze-k8s-run-complete-tests-line-37)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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; [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-38)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-38)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="947.2" textLength="134.2" clip-path="url(#breeze-k8s-run-complete-tests-line-38)">-kubernetes</text><text class="breeze-k8s-run-compl [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-39)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="971.6" textLength="756.4" clip-path="url(#breeze-k8s-run-complete-tests-line-39)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x= [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-40)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-40)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="996" textLength="61" clip-path="url(#breeze-k8s-run-complete-tests-line-40)">-skip</text><text class="breeze-k8s-run-complete-tests-r4" x [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1020.4" textLength="73.2" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">-debug</text><text class="breeze-k8s-run-complete [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1044.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1044.8" textLength="97.6" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">-include</text><text class="breeze-k8s-run-comple [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1069.2" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-43)">
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1093.6" textLength="24.4" clip-path="url(#breeze-k8s-run-complete-tests-line-44)">╭─</text><text class="breeze-k8s-run-complete-tests-r5" x="24.4" y="1093.6" textLength="195.2" clip-path="url(#breeze-k8s-run-complete-tests-line-44)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="219.6" y="1093.6" textLength="1220" clip-path="url(#breeze-k8s-run-complete-tests-line-44)">──────────────── [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1118" textLength="97.6" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">-verbose</text><text class="breeze-k8s-run-complete-tes [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1142.4" textLength="48.8" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">-dry</text><text class="breeze-k8s-run-complete-t [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1166.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1166.8" textLength="61" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">-help</text><text class="breeze-k8s-run-complete-te [...]
-</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-48)">
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-k8s-run-complete-tests-line-19)">-python</text><text class="breeze-k8s-run-complete-t [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-20)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="508" textLength="732" clip-path="url(#breeze-k8s-run-complete-tests-line-20)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-21)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="532.4" textLength="732" clip-path="url(#breeze-k8s-run-complete-tests-line-21)">[default:&#160;3.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;& [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-22)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-22)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="556.8" textLength="134.2" clip-path="url(#breeze-k8s-run-complete-tests-line-22)">-kubernetes</text><text class="breeze-k8s-run-compl [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-23)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="581.2" textLength="658.8" clip-path="url(#breeze-k8s-run-complete-tests-line-23)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="1451.8" y="581.2" textLength="1 [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-24)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="605.6" textLength="658.8" clip-path="url(#breeze-k8s-run-complete-tests-line-24)">[default:&#160;v1.25.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; [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-25)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-25)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="630" textLength="109.8" clip-path="url(#breeze-k8s-run-complete-tests-line-25)">-executor</text><text class="breeze-k8s-run-complete-test [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-26)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="654.4" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-26)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-ru [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-27)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="341.6" y="678.8" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-27)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-28)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="341.6" y="703.2" textLength="1098" clip-path="url(#breeze-k8s-run-complete-tests-line-28)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-29)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-29)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="727.6" textLength="73.2" clip-path="url(#breeze-k8s-run-complete-tests-line-29)">-force</text><text class="breeze-k8s-run-complete-te [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="752" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-30)">
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="776.4" textLength="24.4" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">╭─</text><text class="breeze-k8s-run-complete-tests-r5" x="24.4" y="776.4" textLength="219.6" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="244" y="776.4" textLength="1195.6" clip-path="url(#breeze-k8s-run-complete-tests-line-31)">───────────────── [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="800.8" textLength="48.8" clip-path="url(#breeze-k8s-run-complete-tests-line-32)">-run</text><text class="breeze-k8s-run-complete-test [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-33)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-33)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="825.2" textLength="146.4" clip-path="url(#breeze-k8s-run-complete-tests-line-33)">-parallelism</text><text class="breeze-k8s-run-comp [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-34)">│</text><text class="breeze-k8s-run-complete-tests-r1" x="378.2" y="849.6" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-34)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-35)">│</text><text class="breeze-k8s-run-complete-tests-r6" x="378.2" y="874" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-35)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-run-complete-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-36)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="898.4" textLength="1061.4" clip-path="url(#breeze-k8s-run-complete-tests-line-36)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&#16 [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-37)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-37)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="922.8" textLength="85.4" clip-path="url(#breeze-k8s-run-complete-tests-line-37)">-python</text><text class="breeze-k8s-run-complete-t [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-38)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="947.2" textLength="951.6" clip-path="url(#breeze-k8s-run-complete-tests-line-38)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.12]&#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="breeze-k8s-run-complete-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-39)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-39)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="971.6" textLength="134.2" clip-path="url(#breeze-k8s-run-complete-tests-line-39)">-kubernetes</text><text class="breeze-k8s-run-compl [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-40)">│</text><text class="breeze-k8s-run-complete-tests-r5" x="378.2" y="996" textLength="756.4" clip-path="url(#breeze-k8s-run-complete-tests-line-40)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="145 [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1020.4" textLength="61" clip-path="url(#breeze-k8s-run-complete-tests-line-41)">-skip</text><text class="breeze-k8s-run-complete-te [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1044.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1044.8" textLength="73.2" clip-path="url(#breeze-k8s-run-complete-tests-line-42)">-debug</text><text class="breeze-k8s-run-complete [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-43)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1069.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-43)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1069.2" textLength="97.6" clip-path="url(#breeze-k8s-run-complete-tests-line-43)">-include</text><text class="breeze-k8s-run-comple [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1093.6" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-44)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-44)">
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1118" textLength="24.4" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">╭─</text><text class="breeze-k8s-run-complete-tests-r5" x="24.4" y="1118" textLength="195.2" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-run-complete-tests-r5" x="219.6" y="1118" textLength="1220" clip-path="url(#breeze-k8s-run-complete-tests-line-45)">────────────────────── [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1142.4" textLength="97.6" clip-path="url(#breeze-k8s-run-complete-tests-line-46)">-verbose</text><text class="breeze-k8s-run-comple [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1166.8" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1166.8" textLength="48.8" clip-path="url(#breeze-k8s-run-complete-tests-line-47)">-dry</text><text class="breeze-k8s-run-complete-t [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1191.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-48)">│</text><text class="breeze-k8s-run-complete-tests-r4" x="24.4" y="1191.2" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-48)">-</text><text class="breeze-k8s-run-complete-tests-r4" x="36.6" y="1191.2" textLength="61" clip-path="url(#breeze-k8s-run-complete-tests-line-48)">-help</text><text class="breeze-k8s-run-complete-te [...]
+</text><text class="breeze-k8s-run-complete-tests-r5" x="0" y="1215.6" textLength="1464" clip-path="url(#breeze-k8s-run-complete-tests-line-49)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-run-complete-tests-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#breeze-k8s-run-complete-tests-line-49)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_run-complete-tests.txt b/dev/breeze/doc/images/output_k8s_run-complete-tests.txt
index cc4cbbb3c8..79d99baeef 100644
--- a/dev/breeze/doc/images/output_k8s_run-complete-tests.txt
+++ b/dev/breeze/doc/images/output_k8s_run-complete-tests.txt
@@ -1 +1 @@
-e640588f01da65c034d61eed01d638a1
+e610f1373eebedaf7686eef20292767e
diff --git a/dev/breeze/doc/images/output_k8s_shell.svg b/dev/breeze/doc/images/output_k8s_shell.svg
index 5b438be18f..7589918e60 100644
--- a/dev/breeze/doc/images/output_k8s_shell.svg
+++ b/dev/breeze/doc/images/output_k8s_shell.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 586.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 611.1999999999999" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-shell-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="535.8" />
+      <rect x="0" y="0" width="1463.0" height="560.1999999999999" />
     </clipPath>
     <clipPath id="breeze-k8s-shell-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -108,9 +108,12 @@
 <clipPath id="breeze-k8s-shell-line-20">
     <rect x="0" y="489.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-shell-line-21">
+    <rect x="0" y="513.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="584.8" rx="8"/><text class="breeze-k8s-shell-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;shell</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="609.2" rx="8"/><text class="breeze-k8s-shell-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;shell</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -126,22 +129,23 @@
 </text><text class="breeze-k8s-shell-r1" x="12.2" y="93.2" textLength="622.2" clip-path="url(#breeze-k8s-shell-line-3)">Run&#160;shell&#160;environment&#160;for&#160;the&#160;current&#160;KinD&#160;cluster.</text><text class="breeze-k8s-shell-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-3)">
 </text><text class="breeze-k8s-shell-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-4)">
 </text><text class="breeze-k8s-shell-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-5)">╭─</text><text class="breeze-k8s-shell-r5" x="24.4" y="142" textLength="207.4" clip-path="url(#breeze-k8s-shell-line-5)">&#160;K8S&#160;shell&#160;flags&#160;</text><text class="breeze-k8s-shell-r5" x="231.8" y="142" textLength="1207.8" clip-path="url(#breeze-k8s-shell-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-6)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-6)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-shell-line-6)">-python</text><text class="breeze-k8s-shell-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-6)">-p</t [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-7)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-shell-line-7)">[default:&#160;3.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;& [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-8)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-8)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-shell-line-8)">-kubernetes</text><text class="breeze-k8s-shell-r4" x="170.8" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-shell-line-8)"> [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-9)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-shell-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-shell-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-9)">│</text><text class= [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-10)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-shell-line-10)">[default:&#160;v1.25.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;</text><text class=" [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-11)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-11)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="288.4" textLength="109.8" clip-path="url(#breeze-k8s-shell-line-11)">-executor</text><text class="breeze-k8s-shell-r1" x="341.6" y="288.4" textLength="1098" clip-path="url(#breeze-k8s-shell-line-11) [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-12)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="312.8" textLength="1098" clip-path="url(#breeze-k8s-shell-line-12)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-shell-r5" x="1451.8" y="312.8" textLength="12.2" clip- [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-13)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="337.2" textLength="1098" clip-path="url(#breeze-k8s-shell-line-13)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-shell-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-14)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="361.6" textLength="1098" clip-path="url(#breeze-k8s-shell-line-14)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-shell-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-15)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-15)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="386" textLength="73.2" clip-path="url(#breeze-k8s-shell-line-15)">-force</text><text class="breeze-k8s-shell-r4" x="109.8" y="386" textLength="134.2" clip-path="url(#breeze-k8s-shell-line-15)">-venv-set [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="410.4" textLength="1464" clip-path="url(#breeze-k8s-shell-line-16)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-shell-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-16)">
-</text><text class="breeze-k8s-shell-r5" x="0" y="434.8" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-17)">╭─</text><text class="breeze-k8s-shell-r5" x="24.4" y="434.8" textLength="195.2" clip-path="url(#breeze-k8s-shell-line-17)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-shell-r5" x="219.6" y="434.8" textLength="1220" clip-path="url(#breeze-k8s-shell-line-17)">───────────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-18)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-18)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="459.2" textLength="97.6" clip-path="url(#breeze-k8s-shell-line-18)">-verbose</text><text class="breeze-k8s-shell-r6" x="158.6" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-18)"> [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-19)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-19)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="483.6" textLength="48.8" clip-path="url(#breeze-k8s-shell-line-19)">-dry</text><text class="breeze-k8s-shell-r4" x="85.4" y="483.6" textLength="48.8" clip-path="url(#breeze-k8s-shell-line-19)">-run< [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-20)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-20)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="508" textLength="61" clip-path="url(#breeze-k8s-shell-line-20)">-help</text><text class="breeze-k8s-shell-r6" x="158.6" y="508" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-20)">-h</text><tex [...]
-</text><text class="breeze-k8s-shell-r5" x="0" y="532.4" textLength="1464" clip-path="url(#breeze-k8s-shell-line-21)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-shell-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-21)">
+</text><text class="breeze-k8s-shell-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-6)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-6)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-shell-line-6)">-python</text><text class="breeze-k8s-shell-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-6)">-p</t [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-7)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-shell-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-8)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-shell-line-8)">[default:&#160;3.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;& [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-9)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-9)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-shell-line-9)">-kubernetes</text><text class="breeze-k8s-shell-r4" x="170.8" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-shell-line-9)"> [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-10)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-shell-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-shell-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-10)">│</text><text class="br [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-11)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-shell-line-11)">[default:&#160;v1.25.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;</text><text cla [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-12)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-12)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="312.8" textLength="109.8" clip-path="url(#breeze-k8s-shell-line-12)">-executor</text><text class="breeze-k8s-shell-r1" x="341.6" y="312.8" textLength="1098" clip-path="url(#breeze-k8s-shell-line-12) [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-13)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="337.2" textLength="1098" clip-path="url(#breeze-k8s-shell-line-13)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-shell-r5" x="1451.8" y="337.2" textLength="12.2" clip- [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-14)">│</text><text class="breeze-k8s-shell-r7" x="341.6" y="361.6" textLength="1098" clip-path="url(#breeze-k8s-shell-line-14)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-shell-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-15)">│</text><text class="breeze-k8s-shell-r5" x="341.6" y="386" textLength="1098" clip-path="url(#breeze-k8s-shell-line-15)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-shell-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-16)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-16)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="410.4" textLength="73.2" clip-path="url(#breeze-k8s-shell-line-16)">-force</text><text class="breeze-k8s-shell-r4" x="109.8" y="410.4" textLength="134.2" clip-path="url(#breeze-k8s-shell-line-16)">- [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-shell-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-shell-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-17)">
+</text><text class="breeze-k8s-shell-r5" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-18)">╭─</text><text class="breeze-k8s-shell-r5" x="24.4" y="459.2" textLength="195.2" clip-path="url(#breeze-k8s-shell-line-18)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-shell-r5" x="219.6" y="459.2" textLength="1220" clip-path="url(#breeze-k8s-shell-line-18)">───────────────────────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-19)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-19)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="483.6" textLength="97.6" clip-path="url(#breeze-k8s-shell-line-19)">-verbose</text><text class="breeze-k8s-shell-r6" x="158.6" y="483.6" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-19)"> [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-20)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-20)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="508" textLength="48.8" clip-path="url(#breeze-k8s-shell-line-20)">-dry</text><text class="breeze-k8s-shell-r4" x="85.4" y="508" textLength="48.8" clip-path="url(#breeze-k8s-shell-line-20)">-run</text><t [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-21)">│</text><text class="breeze-k8s-shell-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-21)">-</text><text class="breeze-k8s-shell-r4" x="36.6" y="532.4" textLength="61" clip-path="url(#breeze-k8s-shell-line-21)">-help</text><text class="breeze-k8s-shell-r6" x="158.6" y="532.4" textLength="24.4" clip-path="url(#breeze-k8s-shell-line-21)">-h</t [...]
+</text><text class="breeze-k8s-shell-r5" x="0" y="556.8" textLength="1464" clip-path="url(#breeze-k8s-shell-line-22)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-shell-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-shell-line-22)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_shell.txt b/dev/breeze/doc/images/output_k8s_shell.txt
index 9bd2f7083f..0a7c307332 100644
--- a/dev/breeze/doc/images/output_k8s_shell.txt
+++ b/dev/breeze/doc/images/output_k8s_shell.txt
@@ -1 +1 @@
-b7cbc89a19e20a1811e1d15c21ddc38d
+d6ad2ea7a4f0b0c840ba664fb0adcd66
diff --git a/dev/breeze/doc/images/output_k8s_status.svg b/dev/breeze/doc/images/output_k8s_status.svg
index 79cf53dd56..1f47cb9d51 100644
--- a/dev/breeze/doc/images/output_k8s_status.svg
+++ b/dev/breeze/doc/images/output_k8s_status.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 513.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 538.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-status-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="462.59999999999997" />
+      <rect x="0" y="0" width="1463.0" height="487.0" />
     </clipPath>
     <clipPath id="breeze-k8s-status-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -99,9 +99,12 @@
 <clipPath id="breeze-k8s-status-line-17">
     <rect x="0" y="416.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-status-line-18">
+    <rect x="0" y="440.7" 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="511.6" rx="8"/><text class="breeze-k8s-status-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;status</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="536" rx="8"/><text class="breeze-k8s-status-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;status</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -117,19 +120,20 @@
 </text><text class="breeze-k8s-status-r1" x="12.2" y="93.2" textLength="1085.8" clip-path="url(#breeze-k8s-status-line-3)">Check&#160;status&#160;of&#160;the&#160;current&#160;cluster&#160;and&#160;airflow&#160;deployed&#160;to&#160;it&#160;(optionally&#160;all&#160;clusters).</text><text class="breeze-k8s-status-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-3)">
 </text><text class="breeze-k8s-status-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-4)">
 </text><text class="breeze-k8s-status-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-status-line-5)">╭─</text><text class="breeze-k8s-status-r5" x="24.4" y="142" textLength="317.2" clip-path="url(#breeze-k8s-status-line-5)">&#160;K8S&#160;cluster&#160;status&#160;flags&#160;</text><text class="breeze-k8s-status-r5" x="341.6" y="142" textLength="1098" clip-path="url(#breeze-k8s-status-line-5)">──────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-6)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-6)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-status-line-6)">-python</text><text class="breeze-k8s-status-r6" x="317.2" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-status-line-6 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-7)">│</text><text class="breeze-k8s-status-r5" x="366" y="190.8" textLength="732" clip-path="url(#breeze-k8s-status-line-7)">[default:&#160;3.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 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-8)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-8)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-status-line-8)">-kubernetes</text><text class="breeze-k8s-status-r4" x="170.8" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-status-l [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-9)">│</text><text class="breeze-k8s-status-r7" x="366" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-status-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-status-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-9)">│</text><text cl [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-status-line-10)">│</text><text class="breeze-k8s-status-r5" x="366" y="264" textLength="658.8" clip-path="url(#breeze-k8s-status-line-10)">[default:&#160;v1.25.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;</text><text class [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-11)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-11)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="288.4" textLength="61" clip-path="url(#breeze-k8s-status-line-11)">-wait</text><text class="breeze-k8s-status-r4" x="97.6" y="288.4" textLength="195.2" clip-path="url(#breeze-k8s-status-line-11 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-12)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-12)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-k8s-status-line-12)">-all</text><text class="breeze-k8s-status-r1" x="366" y="312.8" textLength="390.4" clip-path="url(#breeze-k8s-status-line-12 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-k8s-status-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-status-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-13)">
-</text><text class="breeze-k8s-status-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-k8s-status-line-14)">╭─</text><text class="breeze-k8s-status-r5" x="24.4" y="361.6" textLength="195.2" clip-path="url(#breeze-k8s-status-line-14)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-status-r5" x="219.6" y="361.6" textLength="1220" clip-path="url(#breeze-k8s-status-line-14)">─────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-status-line-15)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-status-line-15)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="386" textLength="97.6" clip-path="url(#breeze-k8s-status-line-15)">-verbose</text><text class="breeze-k8s-status-r6" x="158.6" y="386" textLength="24.4" clip-path="url(#breeze-k8s-status-line-15)"> [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-16)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-16)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="410.4" textLength="48.8" clip-path="url(#breeze-k8s-status-line-16)">-dry</text><text class="breeze-k8s-status-r4" x="85.4" y="410.4" textLength="48.8" clip-path="url(#breeze-k8s-status-line-16 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-17)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-17)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="434.8" textLength="61" clip-path="url(#breeze-k8s-status-line-17)">-help</text><text class="breeze-k8s-status-r6" x="158.6" y="434.8" textLength="24.4" clip-path="url(#breeze-k8s-status-line-17 [...]
-</text><text class="breeze-k8s-status-r5" x="0" y="459.2" textLength="1464" clip-path="url(#breeze-k8s-status-line-18)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-status-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-18)">
+</text><text class="breeze-k8s-status-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-6)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-6)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-status-line-6)">-python</text><text class="breeze-k8s-status-r6" x="317.2" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-status-line-6 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-7)">│</text><text class="breeze-k8s-status-r7" x="366" y="190.8" textLength="732" clip-path="url(#breeze-k8s-status-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text cla [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-8)">│</text><text class="breeze-k8s-status-r5" x="366" y="215.2" textLength="732" clip-path="url(#breeze-k8s-status-line-8)">[default:&#160;3.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 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-9)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-9)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-status-line-9)">-kubernetes</text><text class="breeze-k8s-status-r4" x="170.8" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-status-l [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-status-line-10)">│</text><text class="breeze-k8s-status-r7" x="366" y="264" textLength="658.8" clip-path="url(#breeze-k8s-status-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-status-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-k8s-status-line-10)">│</text><text class [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-11)">│</text><text class="breeze-k8s-status-r5" x="366" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-status-line-11)">[default:&#160;v1.25.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;</text><text c [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-12)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-12)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="312.8" textLength="61" clip-path="url(#breeze-k8s-status-line-12)">-wait</text><text class="breeze-k8s-status-r4" x="97.6" y="312.8" textLength="195.2" clip-path="url(#breeze-k8s-status-line-12 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-13)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-13)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="337.2" textLength="48.8" clip-path="url(#breeze-k8s-status-line-13)">-all</text><text class="breeze-k8s-status-r1" x="366" y="337.2" textLength="390.4" clip-path="url(#breeze-k8s-status-line-13 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-k8s-status-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-status-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-14)">
+</text><text class="breeze-k8s-status-r5" x="0" y="386" textLength="24.4" clip-path="url(#breeze-k8s-status-line-15)">╭─</text><text class="breeze-k8s-status-r5" x="24.4" y="386" textLength="195.2" clip-path="url(#breeze-k8s-status-line-15)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-status-r5" x="219.6" y="386" textLength="1220" clip-path="url(#breeze-k8s-status-line-15)">───────────────────────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-16)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-status-line-16)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="410.4" textLength="97.6" clip-path="url(#breeze-k8s-status-line-16)">-verbose</text><text class="breeze-k8s-status-r6" x="158.6" y="410.4" textLength="24.4" clip-path="url(#breeze-k8s-status-li [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-17)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-status-line-17)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="434.8" textLength="48.8" clip-path="url(#breeze-k8s-status-line-17)">-dry</text><text class="breeze-k8s-status-r4" x="85.4" y="434.8" textLength="48.8" clip-path="url(#breeze-k8s-status-line-17 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-18)">│</text><text class="breeze-k8s-status-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-status-line-18)">-</text><text class="breeze-k8s-status-r4" x="36.6" y="459.2" textLength="61" clip-path="url(#breeze-k8s-status-line-18)">-help</text><text class="breeze-k8s-status-r6" x="158.6" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-status-line-18 [...]
+</text><text class="breeze-k8s-status-r5" x="0" y="483.6" textLength="1464" clip-path="url(#breeze-k8s-status-line-19)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-status-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-status-line-19)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_status.txt b/dev/breeze/doc/images/output_k8s_status.txt
index 40fc153ffa..dbf4e5596a 100644
--- a/dev/breeze/doc/images/output_k8s_status.txt
+++ b/dev/breeze/doc/images/output_k8s_status.txt
@@ -1 +1 @@
-8514432ea1774557c1bda26b52f91aec
+4ab3b70f38fe2cf889a93bbd34351b02
diff --git a/dev/breeze/doc/images/output_k8s_tests.svg b/dev/breeze/doc/images/output_k8s_tests.svg
index 3ca68703c6..6c201753d7 100644
--- a/dev/breeze/doc/images/output_k8s_tests.svg
+++ b/dev/breeze/doc/images/output_k8s_tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 928.4" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 952.8" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="877.4" />
+      <rect x="0" y="0" width="1463.0" height="901.8" />
     </clipPath>
     <clipPath id="breeze-k8s-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -150,9 +150,12 @@
 <clipPath id="breeze-k8s-tests-line-34">
     <rect x="0" y="831.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-tests-line-35">
+    <rect x="0" y="855.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="926.4" rx="8"/><text class="breeze-k8s-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="950.8" rx="8"/><text class="breeze-k8s-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -168,36 +171,37 @@
 </text><text class="breeze-k8s-tests-r1" x="12.2" y="93.2" textLength="1037" clip-path="url(#breeze-k8s-tests-line-3)">Run&#160;tests&#160;against&#160;the&#160;current&#160;KinD&#160;cluster&#160;(optionally&#160;for&#160;all&#160;clusters&#160;in&#160;parallel).</text><text class="breeze-k8s-tests-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-3)">
 </text><text class="breeze-k8s-tests-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-4)">
 </text><text class="breeze-k8s-tests-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-5)">╭─</text><text class="breeze-k8s-tests-r5" x="24.4" y="142" textLength="207.4" clip-path="url(#breeze-k8s-tests-line-5)">&#160;K8S&#160;tests&#160;flags&#160;</text><text class="breeze-k8s-tests-r5" x="231.8" y="142" textLength="1207.8" clip-path="url(#breeze-k8s-tests-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-6)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-6)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-tests-line-6)">-python</text><text class="breeze-k8s-tests-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-6)">-p</t [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-7)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-tests-line-7)">[default:&#160;3.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;& [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-8)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-8)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-8)">-kubernetes</text><text class="breeze-k8s-tests-r4" x="170.8" y="215.2" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-8)"> [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-9)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-tests-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-9)">│</text><text class= [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-10)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-tests-line-10)">[default:&#160;v1.25.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;</text><text class=" [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-11)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-11)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="288.4" textLength="109.8" clip-path="url(#breeze-k8s-tests-line-11)">-executor</text><text class="breeze-k8s-tests-r1" x="341.6" y="288.4" textLength="1098" clip-path="url(#breeze-k8s-tests-line-11) [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-12)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="312.8" textLength="1098" clip-path="url(#breeze-k8s-tests-line-12)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="312.8" textLength="12.2" clip- [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-13)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="337.2" textLength="1098" clip-path="url(#breeze-k8s-tests-line-13)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-14)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="361.6" textLength="1098" clip-path="url(#breeze-k8s-tests-line-14)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-15)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-15)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="386" textLength="73.2" clip-path="url(#breeze-k8s-tests-line-15)">-force</text><text class="breeze-k8s-tests-r4" x="109.8" y="386" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-15)">-venv-set [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="410.4" textLength="1464" clip-path="url(#breeze-k8s-tests-line-16)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-16)">
-</text><text class="breeze-k8s-tests-r5" x="0" y="434.8" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-17)">╭─</text><text class="breeze-k8s-tests-r5" x="24.4" y="434.8" textLength="219.6" clip-path="url(#breeze-k8s-tests-line-17)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-tests-r5" x="244" y="434.8" textLength="1195.6" clip-path="url(#breeze-k8s-tests-line-17)">─────────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-18)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-18)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="459.2" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-18)">-run</text><text class="breeze-k8s-tests-r4" x="85.4" y="459.2" textLength="146.4" clip-path="url(#breeze-k8s-tests-line-18)">-in- [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-19)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-19)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="483.6" textLength="146.4" clip-path="url(#breeze-k8s-tests-line-19)">-parallelism</text><text class="breeze-k8s-tests-r1" x="378.2" y="483.6" textLength="1061.4" clip-path="url(#breeze-k8s-tests-lin [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-20)">│</text><text class="breeze-k8s-tests-r1" x="378.2" y="508" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-20)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-21)">│</text><text class="breeze-k8s-tests-r7" x="378.2" y="532.4" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-21)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-22)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="556.8" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-22)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-23)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-23)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="581.2" textLength="85.4" clip-path="url(#breeze-k8s-tests-line-23)">-python</text><text class="breeze-k8s-tests-r4" x="122" y="581.2" textLength="109.8" clip-path="url(#breeze-k8s-tests-line-23)">-v [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-24)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="605.6" textLength="951.6" clip-path="url(#breeze-k8s-tests-line-24)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&#16 [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-25)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-25)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="630" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-25)">-kubernetes</text><text class="breeze-k8s-tests-r4" x="170.8" y="630" textLength="109.8" clip-path="url(#breeze-k8s-tests-line-25)">-ve [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-26)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="654.4" textLength="756.4" clip-path="url(#breeze-k8s-tests-line-26)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-t [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-27)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-27)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="678.8" textLength="61" clip-path="url(#breeze-k8s-tests-line-27)">-skip</text><text class="breeze-k8s-tests-r4" x="97.6" y="678.8" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-27)">-clean [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-28)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-28)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="703.2" textLength="73.2" clip-path="url(#breeze-k8s-tests-line-28)">-debug</text><text class="breeze-k8s-tests-r4" x="109.8" y="703.2" textLength="122" clip-path="url(#breeze-k8s-tests-line-28)">-re [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-29)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-29)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="727.6" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-29)">-include</text><text class="breeze-k8s-tests-r4" x="134.2" y="727.6" textLength="195.2" clip-path="url(#breeze-k8s-tests-line-29)" [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="752" textLength="1464" clip-path="url(#breeze-k8s-tests-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-30)">
-</text><text class="breeze-k8s-tests-r5" x="0" y="776.4" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-31)">╭─</text><text class="breeze-k8s-tests-r5" x="24.4" y="776.4" textLength="195.2" clip-path="url(#breeze-k8s-tests-line-31)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-tests-r5" x="219.6" y="776.4" textLength="1220" clip-path="url(#breeze-k8s-tests-line-31)">───────────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-32)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-32)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="800.8" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-32)">-verbose</text><text class="breeze-k8s-tests-r6" x="158.6" y="800.8" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-32)"> [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-33)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-33)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="825.2" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-33)">-dry</text><text class="breeze-k8s-tests-r4" x="85.4" y="825.2" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-33)">-run< [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-34)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-34)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="849.6" textLength="61" clip-path="url(#breeze-k8s-tests-line-34)">-help</text><text class="breeze-k8s-tests-r6" x="158.6" y="849.6" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-34)">-h</t [...]
-</text><text class="breeze-k8s-tests-r5" x="0" y="874" textLength="1464" clip-path="url(#breeze-k8s-tests-line-35)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="874" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-35)">
+</text><text class="breeze-k8s-tests-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-6)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-6)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-tests-line-6)">-python</text><text class="breeze-k8s-tests-r6" x="292.8" y="166.4" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-6)">-p</t [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-7)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-tests-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-8)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-tests-line-8)">[default:&#160;3.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;& [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-9)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-9)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-9)">-kubernetes</text><text class="breeze-k8s-tests-r4" x="170.8" y="239.6" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-9)"> [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-10)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-tests-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-10)">│</text><text class="br [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-11)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-tests-line-11)">[default:&#160;v1.25.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;</text><text cla [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-12)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-12)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="312.8" textLength="109.8" clip-path="url(#breeze-k8s-tests-line-12)">-executor</text><text class="breeze-k8s-tests-r1" x="341.6" y="312.8" textLength="1098" clip-path="url(#breeze-k8s-tests-line-12) [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-13)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="337.2" textLength="1098" clip-path="url(#breeze-k8s-tests-line-13)">(&gt;LocalExecutor&lt;&#160;|&#160;KubernetesExecutor&#160;|&#160;CeleryExecutor&#160;|&#160;CeleryKubernetesExecutor&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="337.2" textLength="12.2" clip- [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-14)">│</text><text class="breeze-k8s-tests-r7" x="341.6" y="361.6" textLength="1098" clip-path="url(#breeze-k8s-tests-line-14)">SequentialExecutor)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-15)">│</text><text class="breeze-k8s-tests-r5" x="341.6" y="386" textLength="1098" clip-path="url(#breeze-k8s-tests-line-15)">[default:&#160;LocalExecutor]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-16)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-16)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="410.4" textLength="73.2" clip-path="url(#breeze-k8s-tests-line-16)">-force</text><text class="breeze-k8s-tests-r4" x="109.8" y="410.4" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-16)">- [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-k8s-tests-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-17)">
+</text><text class="breeze-k8s-tests-r5" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-18)">╭─</text><text class="breeze-k8s-tests-r5" x="24.4" y="459.2" textLength="219.6" clip-path="url(#breeze-k8s-tests-line-18)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-tests-r5" x="244" y="459.2" textLength="1195.6" clip-path="url(#breeze-k8s-tests-line-18)">─────────────────────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-19)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-19)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="483.6" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-19)">-run</text><text class="breeze-k8s-tests-r4" x="85.4" y="483.6" textLength="146.4" clip-path="url(#breeze-k8s-tests-line-19)">-in- [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-20)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-20)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="508" textLength="146.4" clip-path="url(#breeze-k8s-tests-line-20)">-parallelism</text><text class="breeze-k8s-tests-r1" x="378.2" y="508" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-20)">M [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-21)">│</text><text class="breeze-k8s-tests-r1" x="378.2" y="532.4" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-21)">operations.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-22)">│</text><text class="breeze-k8s-tests-r7" x="378.2" y="556.8" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-22)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-23)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="581.2" textLength="1061.4" clip-path="url(#breeze-k8s-tests-line-23)">[default:&#160;2;&#160;1&lt;=x&lt;=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;&# [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-24)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-24)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="605.6" textLength="85.4" clip-path="url(#breeze-k8s-tests-line-24)">-python</text><text class="breeze-k8s-tests-r4" x="122" y="605.6" textLength="109.8" clip-path="url(#breeze-k8s-tests-line-24)">-v [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-25)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="630" textLength="951.6" clip-path="url(#breeze-k8s-tests-line-25)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&#16 [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-26)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-26)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="654.4" textLength="134.2" clip-path="url(#breeze-k8s-tests-line-26)">-kubernetes</text><text class="breeze-k8s-tests-r4" x="170.8" y="654.4" textLength="109.8" clip-path="url(#breeze-k8s-tests-line- [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-27)">│</text><text class="breeze-k8s-tests-r5" x="378.2" y="678.8" textLength="756.4" clip-path="url(#breeze-k8s-tests-line-27)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-tests-r5" x="1451.8" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-t [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-28)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-28)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="703.2" textLength="61" clip-path="url(#breeze-k8s-tests-line-28)">-skip</text><text class="breeze-k8s-tests-r4" x="97.6" y="703.2" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-28)">-clean [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-29)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-29)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="727.6" textLength="73.2" clip-path="url(#breeze-k8s-tests-line-29)">-debug</text><text class="breeze-k8s-tests-r4" x="109.8" y="727.6" textLength="122" clip-path="url(#breeze-k8s-tests-line-29)">-re [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-30)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-30)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="752" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-30)">-include</text><text class="breeze-k8s-tests-r4" x="134.2" y="752" textLength="195.2" clip-path="url(#breeze-k8s-tests-line-30)">-succes [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="776.4" textLength="1464" clip-path="url(#breeze-k8s-tests-line-31)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-31)">
+</text><text class="breeze-k8s-tests-r5" x="0" y="800.8" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-32)">╭─</text><text class="breeze-k8s-tests-r5" x="24.4" y="800.8" textLength="195.2" clip-path="url(#breeze-k8s-tests-line-32)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-tests-r5" x="219.6" y="800.8" textLength="1220" clip-path="url(#breeze-k8s-tests-line-32)">───────────────────────────────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-33)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-33)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="825.2" textLength="97.6" clip-path="url(#breeze-k8s-tests-line-33)">-verbose</text><text class="breeze-k8s-tests-r6" x="158.6" y="825.2" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-33)"> [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-34)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-34)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="849.6" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-34)">-dry</text><text class="breeze-k8s-tests-r4" x="85.4" y="849.6" textLength="48.8" clip-path="url(#breeze-k8s-tests-line-34)">-run< [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-35)">│</text><text class="breeze-k8s-tests-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-35)">-</text><text class="breeze-k8s-tests-r4" x="36.6" y="874" textLength="61" clip-path="url(#breeze-k8s-tests-line-35)">-help</text><text class="breeze-k8s-tests-r6" x="158.6" y="874" textLength="24.4" clip-path="url(#breeze-k8s-tests-line-35)">-h</text><tex [...]
+</text><text class="breeze-k8s-tests-r5" x="0" y="898.4" textLength="1464" clip-path="url(#breeze-k8s-tests-line-36)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-tests-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-k8s-tests-line-36)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_tests.txt b/dev/breeze/doc/images/output_k8s_tests.txt
index 008faa01dc..dbc23a6da4 100644
--- a/dev/breeze/doc/images/output_k8s_tests.txt
+++ b/dev/breeze/doc/images/output_k8s_tests.txt
@@ -1 +1 @@
-57e528bac1be683b2202d3d633a51ebd
+df8f1bd28a2b7e51def21c969727d845
diff --git a/dev/breeze/doc/images/output_k8s_upload-k8s-image.svg b/dev/breeze/doc/images/output_k8s_upload-k8s-image.svg
index 30794915b9..eba32c1bb0 100644
--- a/dev/breeze/doc/images/output_k8s_upload-k8s-image.svg
+++ b/dev/breeze/doc/images/output_k8s_upload-k8s-image.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 782.0" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 806.4" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-k8s-upload-k8s-image-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="731.0" />
+      <rect x="0" y="0" width="1463.0" height="755.4" />
     </clipPath>
     <clipPath id="breeze-k8s-upload-k8s-image-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -132,9 +132,12 @@
 <clipPath id="breeze-k8s-upload-k8s-image-line-28">
     <rect x="0" y="684.7" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-k8s-upload-k8s-image-line-29">
+    <rect x="0" y="709.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="780" rx="8"/><text class="breeze-k8s-upload-k8s-image-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;upload-k8s-image</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="804.4" rx="8"/><text class="breeze-k8s-upload-k8s-image-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;k8s&#160;upload-k8s-image</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -150,30 +153,31 @@
 </text><text class="breeze-k8s-upload-k8s-image-r1" x="12.2" y="93.2" textLength="1110.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-3)">Upload&#160;k8s-ready&#160;airflow&#160;image&#160;to&#160;the&#160;KinD&#160;cluster&#160;(optionally&#160;to&#160;all&#160;clusters&#160;in&#160;parallel)</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-3)">
 </text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-4)">
 </text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-5)">╭─</text><text class="breeze-k8s-upload-k8s-image-r5" x="24.4" y="142" textLength="244" clip-path="url(#breeze-k8s-upload-k8s-image-line-5)">&#160;Upload&#160;image&#160;flags&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="268.4" y="142" textLength="1171.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-5)">─────────────────────────────── [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">-python</text><text class="breeze-k8s-upload-k8s-image-r6" x="292.8 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-7)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-upload-k8s-image-line-7)">[default:&#160;3.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 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-8)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-8)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="215.2" textLength="134.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-8)">-kubernetes</text><text class="breeze-k8s-upload-k8s-image-r4" x=" [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-9)">│</text><text class="breeze-k8s-upload-k8s-image-r7" x="341.6" y="239.6" textLength="658.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-9)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="1451.8" y="239.6" textLength="12.2" clip-pa [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-10)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-10)">[default:&#160;v1.25.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; [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="288.4" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-11)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-11)">
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="312.8" textLength="24.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-12)">╭─</text><text class="breeze-k8s-upload-k8s-image-r5" x="24.4" y="312.8" textLength="219.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-12)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="244" y="312.8" textLength="1195.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-12)">───────────────────────────── [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="337.2" textLength="48.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">-run</text><text class="breeze-k8s-upload-k8s-image-r4" x="85.4" [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="361.6" textLength="146.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">-parallelism</text><text class="breeze-k8s-upload-k8s-image-r1" [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-15)">│</text><text class="breeze-k8s-upload-k8s-image-r7" x="378.2" y="386" textLength="915" clip-path="url(#breeze-k8s-upload-k8s-image-line-15)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-upload-k8s-image-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-16)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="410.4" textLength="915" clip-path="url(#breeze-k8s-upload-k8s-image-line-16)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-17)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-17)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="434.8" textLength="85.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-17)">-python</text><text class="breeze-k8s-upload-k8s-image-r4" x="12 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-18)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="459.2" textLength="951.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-18)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&# [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-19)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-19)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="483.6" textLength="134.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-19)">-kubernetes</text><text class="breeze-k8s-upload-k8s-image-r4"  [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-20)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="508" textLength="756.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-20)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="1451.8" y="50 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-21)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-21)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="532.4" textLength="61" clip-path="url(#breeze-k8s-upload-k8s-image-line-21)">-skip</text><text class="breeze-k8s-upload-k8s-image-r4" x="97.6"  [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="556.8" textLength="73.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">-debug</text><text class="breeze-k8s-upload-k8s-image-r4" x="109 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="581.2" textLength="97.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">-include</text><text class="breeze-k8s-upload-k8s-image-r4" x="1 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="605.6" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-24)">
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="630" textLength="24.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-25)">╭─</text><text class="breeze-k8s-upload-k8s-image-r5" x="24.4" y="630" textLength="195.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-25)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="219.6" y="630" textLength="1220" clip-path="url(#breeze-k8s-upload-k8s-image-line-25)">───────────────────────────────────── [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="654.4" textLength="97.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">-verbose</text><text class="breeze-k8s-upload-k8s-image-r6" x="1 [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="678.8" textLength="48.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">-dry</text><text class="breeze-k8s-upload-k8s-image-r4" x="85.4" [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="703.2" textLength="61" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">-help</text><text class="breeze-k8s-upload-k8s-image-r6" x="158.6" [...]
-</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-29)">
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-6)">-python</text><text class="breeze-k8s-upload-k8s-image-r6" x="292.8 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-7)">│</text><text class="breeze-k8s-upload-k8s-image-r7" x="341.6" y="190.8" textLength="732" clip-path="url(#breeze-k8s-upload-k8s-image-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-k8s-upload-k8s-image-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-8)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="341.6" y="215.2" textLength="732" clip-path="url(#breeze-k8s-upload-k8s-image-line-8)">[default:&#160;3.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 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-9)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-9)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="239.6" textLength="134.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-9)">-kubernetes</text><text class="breeze-k8s-upload-k8s-image-r4" x=" [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-10)">│</text><text class="breeze-k8s-upload-k8s-image-r7" x="341.6" y="264" textLength="658.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-10)">(&gt;v1.25.11&lt;&#160;|&#160;v1.26.6&#160;|&#160;v1.27.3&#160;|&#160;v1.28.0&#160;|&#160;v1.29.0)&#160;&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="1451.8" y="264" textLength="12.2" clip-path=" [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-11)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="341.6" y="288.4" textLength="658.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-11)">[default:&#160;v1.25.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;&# [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="312.8" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-12)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-12)">
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="337.2" textLength="24.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">╭─</text><text class="breeze-k8s-upload-k8s-image-r5" x="24.4" y="337.2" textLength="219.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">&#160;Parallel&#160;options&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="244" y="337.2" textLength="1195.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-13)">───────────────────────────── [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="361.6" textLength="48.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-14)">-run</text><text class="breeze-k8s-upload-k8s-image-r4" x="85.4" [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-15)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-15)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="386" textLength="146.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-15)">-parallelism</text><text class="breeze-k8s-upload-k8s-image-r1" x="37 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-16)">│</text><text class="breeze-k8s-upload-k8s-image-r7" x="378.2" y="410.4" textLength="915" clip-path="url(#breeze-k8s-upload-k8s-image-line-16)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-k8s-upload-k8s-image-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-17)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="434.8" textLength="915" clip-path="url(#breeze-k8s-upload-k8s-image-line-17)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-18)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-18)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="459.2" textLength="85.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-18)">-python</text><text class="breeze-k8s-upload-k8s-image-r4" x="12 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-19)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="483.6" textLength="951.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-19)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&#16 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-20)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-20)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="508" textLength="134.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-20)">-kubernetes</text><text class="breeze-k8s-upload-k8s-image-r4" x="170 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-21)">│</text><text class="breeze-k8s-upload-k8s-image-r5" x="378.2" y="532.4" textLength="756.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-21)">[default:&#160;v1.25.11&#160;v1.26.6&#160;v1.27.3&#160;v1.28.0&#160;v1.29.0]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="1451.8" y [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="556.8" textLength="61" clip-path="url(#breeze-k8s-upload-k8s-image-line-22)">-skip</text><text class="breeze-k8s-upload-k8s-image-r4" x="97.6"  [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="581.2" textLength="73.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-23)">-debug</text><text class="breeze-k8s-upload-k8s-image-r4" x="109 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-24)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-24)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="605.6" textLength="97.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-24)">-include</text><text class="breeze-k8s-upload-k8s-image-r4" x="1 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="630" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-25)">
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="654.4" textLength="24.4" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">╭─</text><text class="breeze-k8s-upload-k8s-image-r5" x="24.4" y="654.4" textLength="195.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">&#160;Common&#160;options&#160;</text><text class="breeze-k8s-upload-k8s-image-r5" x="219.6" y="654.4" textLength="1220" clip-path="url(#breeze-k8s-upload-k8s-image-line-26)">─────────────────────────────── [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="678.8" textLength="97.6" clip-path="url(#breeze-k8s-upload-k8s-image-line-27)">-verbose</text><text class="breeze-k8s-upload-k8s-image-r6" x="1 [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="703.2" textLength="48.8" clip-path="url(#breeze-k8s-upload-k8s-image-line-28)">-dry</text><text class="breeze-k8s-upload-k8s-image-r4" x="85.4" [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-29)">│</text><text class="breeze-k8s-upload-k8s-image-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-29)">-</text><text class="breeze-k8s-upload-k8s-image-r4" x="36.6" y="727.6" textLength="61" clip-path="url(#breeze-k8s-upload-k8s-image-line-29)">-help</text><text class="breeze-k8s-upload-k8s-image-r6" x="158.6" [...]
+</text><text class="breeze-k8s-upload-k8s-image-r5" x="0" y="752" textLength="1464" clip-path="url(#breeze-k8s-upload-k8s-image-line-30)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-k8s-upload-k8s-image-r1" x="1464" y="752" textLength="12.2" clip-path="url(#breeze-k8s-upload-k8s-image-line-30)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_k8s_upload-k8s-image.txt b/dev/breeze/doc/images/output_k8s_upload-k8s-image.txt
index 3049ceac9c..9d14dc0abe 100644
--- a/dev/breeze/doc/images/output_k8s_upload-k8s-image.txt
+++ b/dev/breeze/doc/images/output_k8s_upload-k8s-image.txt
@@ -1 +1 @@
-ee80bce63b6ef4968be3490022a8f3b1
+0c11051504aa4b4e0184e2e58993dfbb
diff --git a/dev/breeze/doc/images/output_prod-image_build.svg b/dev/breeze/doc/images/output_prod-image_build.svg
index 2e6599bb57..f13a73e2c6 100644
--- a/dev/breeze/doc/images/output_prod-image_build.svg
+++ b/dev/breeze/doc/images/output_prod-image_build.svg
@@ -367,7 +367,7 @@
 </text><text class="breeze-prod-image-build-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-4)">
 </text><text class="breeze-prod-image-build-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-prod-image-build-line-5)">╭─</text><text class="breeze-prod-image-build-r5" x="24.4" y="142" textLength="158.6" clip-path="url(#breeze-prod-image-build-line-5)">&#160;Basic&#160;usage&#160;</text><text class="breeze-prod-image-build-r5" x="183" y="142" textLength="1256.6" clip-path="url(#breeze-prod-image-build-line-5)">─────────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-6)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-6)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-prod-image-build-line-6)">-python</text><text class="breeze-prod-image-build-r6" x="353.8" y="166.4" textLength="24.4 [...]
-</text><text class="breeze-prod-image-build-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-7)">│</text><text class="breeze-prod-image-build-r7" x="402.6" y="190.8" textLength="732" clip-path="url(#breeze-prod-image-build-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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;& [...]
+</text><text class="breeze-prod-image-build-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-7)">│</text><text class="breeze-prod-image-build-r7" x="402.6" y="190.8" textLength="732" clip-path="url(#breeze-prod-image-build-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;&# [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-8)">│</text><text class="breeze-prod-image-build-r5" x="402.6" y="215.2" textLength="732" clip-path="url(#breeze-prod-image-build-line-8)">[default:&#160;3.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;&#1 [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-9)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-9)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="239.6" textLength="97.6" clip-path="url(#breeze-prod-image-build-line-9)">-install</text><text class="breeze-prod-image-build-r4" x="134.2" y="239.6" textLength="195 [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-10)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-10)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="264" textLength="73.2" clip-path="url(#breeze-prod-image-build-line-10)">-image</text><text class="breeze-prod-image-build-r4" x="109.8" y="264" textLength="48.8" clip [...]
@@ -387,7 +387,7 @@
 </text><text class="breeze-prod-image-build-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-24)">│</text><text class="breeze-prod-image-build-r7" x="378.2" y="605.6" textLength="915" clip-path="url(#breeze-prod-image-build-line-24)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-prod-image-build-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-25)">│</text><text class="breeze-prod-image-build-r5" x="378.2" y="630" textLength="915" clip-path="url(#breeze-prod-image-build-line-25)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-26)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-26)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="654.4" textLength="85.4" clip-path="url(#breeze-prod-image-build-line-26)">-python</text><text class="breeze-prod-image-build-r4" x="122" y="654.4" textLength="109 [...]
-</text><text class="breeze-prod-image-build-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-27)">│</text><text class="breeze-prod-image-build-r5" x="378.2" y="678.8" textLength="951.6" clip-path="url(#breeze-prod-image-build-line-27)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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; [...]
+</text><text class="breeze-prod-image-build-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-27)">│</text><text class="breeze-prod-image-build-r5" x="378.2" y="678.8" textLength="951.6" clip-path="url(#breeze-prod-image-build-line-27)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&# [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-28)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-28)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="703.2" textLength="61" clip-path="url(#breeze-prod-image-build-line-28)">-skip</text><text class="breeze-prod-image-build-r4" x="97.6" y="703.2" textLength="97.6"  [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-29)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-29)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="727.6" textLength="73.2" clip-path="url(#breeze-prod-image-build-line-29)">-debug</text><text class="breeze-prod-image-build-r4" x="109.8" y="727.6" textLength="12 [...]
 </text><text class="breeze-prod-image-build-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-30)">│</text><text class="breeze-prod-image-build-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-prod-image-build-line-30)">-</text><text class="breeze-prod-image-build-r4" x="36.6" y="752" textLength="97.6" clip-path="url(#breeze-prod-image-build-line-30)">-include</text><text class="breeze-prod-image-build-r4" x="134.2" y="752" textLength="195.2" c [...]
diff --git a/dev/breeze/doc/images/output_prod-image_build.txt b/dev/breeze/doc/images/output_prod-image_build.txt
index dbfb23f9c0..f4d0258c24 100644
--- a/dev/breeze/doc/images/output_prod-image_build.txt
+++ b/dev/breeze/doc/images/output_prod-image_build.txt
@@ -1 +1 @@
-e3ed45363576b9bb3eb1cf5e3a2c08df
+0b273681fd6b7421fa4237ad79b6a881
diff --git a/dev/breeze/doc/images/output_prod-image_pull.svg b/dev/breeze/doc/images/output_prod-image_pull.svg
index 6d0dbf446e..f192beecf8 100644
--- a/dev/breeze/doc/images/output_prod-image_pull.svg
+++ b/dev/breeze/doc/images/output_prod-image_pull.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 879.5999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 904.0" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-prod-image-pull-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="828.5999999999999" />
+      <rect x="0" y="0" width="1463.0" height="853.0" />
     </clipPath>
     <clipPath id="breeze-prod-image-pull-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -144,9 +144,12 @@
 <clipPath id="breeze-prod-image-pull-line-32">
     <rect x="0" y="782.3" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-prod-image-pull-line-33">
+    <rect x="0" y="806.7" 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="877.6" rx="8"/><text class="breeze-prod-image-pull-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prod-image&#160;pull</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="902" rx="8"/><text class="breeze-prod-image-pull-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;prod-image&#160;pull</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -163,33 +166,34 @@
 </text><text class="breeze-prod-image-pull-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-4)">
 </text><text class="breeze-prod-image-pull-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-5)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="142" textLength="219.6" clip-path="url(#breeze-prod-image-pull-line-5)">&#160;Pull&#160;image&#160;flags&#160;</text><text class="breeze-prod-image-pull-r5" x="244" y="142" textLength="1195.6" clip-path="url(#breeze-prod-image-pull-line-5)">─────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-prod-image-pull-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-6)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-6)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-prod-image-pull-line-6)">-image</text><text class="breeze-prod-image-pull-r4" x="109.8" y="166.4" textLength="48.8" clip-p [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-7)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-7)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-7)">-python</text><text class="breeze-prod-image-pull-r6" x="244" y="190.8" textLength="24.4" clip-pa [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-8)">│</text><text class="breeze-prod-image-pull-r5" x="292.8" y="215.2" textLength="732" clip-path="url(#breeze-prod-image-pull-line-8)">[default:&#160;3.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;& [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-9)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-9)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="239.6" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-9)">-verify</text><text class="breeze-prod-image-pull-r1" x="292.8" y="239.6" textLength="158.6" clip [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-10)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-10)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="264" textLength="61" clip-path="url(#breeze-prod-image-pull-line-10)">-wait</text><text class="breeze-prod-image-pull-r4" x="97.6" y="264" textLength="122" clip-path="url(# [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-11)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-11)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="288.4" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-11)">-tag</text><text class="breeze-prod-image-pull-r4" x="85.4" y="288.4" textLength="122" clip-pa [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-12)">│</text><text class="breeze-prod-image-pull-r1" x="292.8" y="312.8" textLength="231.8" clip-path="url(#breeze-prod-image-pull-line-12)">or&#160;pull&#160;image&#160;with&#160;</text><text class="breeze-prod-image-pull-r4" x="524.6" y="312.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-12)">-</text><text class="breeze-prod-image-pull-r4" x="53 [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-13)">
-</text><text class="breeze-prod-image-pull-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-14)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="361.6" textLength="219.6" clip-path="url(#breeze-prod-image-pull-line-14)">&#160;Parallel&#160;running&#160;</text><text class="breeze-prod-image-pull-r5" x="244" y="361.6" textLength="1195.6" clip-path="url(#breeze-prod-image-pull-line-14)">─────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-15)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-15)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="386" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-15)">-run</text><text class="breeze-prod-image-pull-r4" x="85.4" y="386" textLength="146.4" clip-path="ur [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-16)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-16)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="410.4" textLength="146.4" clip-path="url(#breeze-prod-image-pull-line-16)">-parallelism</text><text class="breeze-prod-image-pull-r1" x="378.2" y="410.4" textLength="91 [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-17)">│</text><text class="breeze-prod-image-pull-r7" x="378.2" y="434.8" textLength="915" clip-path="url(#breeze-prod-image-pull-line-17)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-prod-image-pull-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-18)">│</text><text class="breeze-prod-image-pull-r5" x="378.2" y="459.2" textLength="915" clip-path="url(#breeze-prod-image-pull-line-18)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-19)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-19)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="483.6" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-19)">-python</text><text class="breeze-prod-image-pull-r4" x="122" y="483.6" textLength="109.8" cli [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-20)">│</text><text class="breeze-prod-image-pull-r5" x="378.2" y="508" textLength="951.6" clip-path="url(#breeze-prod-image-pull-line-20)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&# [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-21)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-21)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="532.4" textLength="61" clip-path="url(#breeze-prod-image-pull-line-21)">-skip</text><text class="breeze-prod-image-pull-r4" x="97.6" y="532.4" textLength="97.6" clip-pa [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-22)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-22)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="556.8" textLength="73.2" clip-path="url(#breeze-prod-image-pull-line-22)">-debug</text><text class="breeze-prod-image-pull-r4" x="109.8" y="556.8" textLength="122" clip [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-23)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-23)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="581.2" textLength="97.6" clip-path="url(#breeze-prod-image-pull-line-23)">-include</text><text class="breeze-prod-image-pull-r4" x="134.2" y="581.2" textLength="195.2"  [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="605.6" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-24)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-24)">
-</text><text class="breeze-prod-image-pull-r5" x="0" y="630" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-25)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="630" textLength="280.6" clip-path="url(#breeze-prod-image-pull-line-25)">&#160;Github&#160;authentication&#160;</text><text class="breeze-prod-image-pull-r5" x="305" y="630" textLength="1134.6" clip-path="url(#breeze-prod-image-pull-line-25)">──────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-26)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-26)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="654.4" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-26)">-github</text><text class="breeze-prod-image-pull-r4" x="122" y="654.4" textLength="134.2" cli [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-27)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-27)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="678.8" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-27)">-github</text><text class="breeze-prod-image-pull-r4" x="122" y="678.8" textLength="73.2" clip [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-28)">
-</text><text class="breeze-prod-image-pull-r5" x="0" y="727.6" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-29)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="727.6" textLength="195.2" clip-path="url(#breeze-prod-image-pull-line-29)">&#160;Common&#160;options&#160;</text><text class="breeze-prod-image-pull-r5" x="219.6" y="727.6" textLength="1220" clip-path="url(#breeze-prod-image-pull-line-29)">───────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-30)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-30)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="752" textLength="97.6" clip-path="url(#breeze-prod-image-pull-line-30)">-verbose</text><text class="breeze-prod-image-pull-r6" x="158.6" y="752" textLength="24.4" clip-path [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-31)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-31)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="776.4" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-31)">-dry</text><text class="breeze-prod-image-pull-r4" x="85.4" y="776.4" textLength="48.8" clip-p [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-32)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-32)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="800.8" textLength="61" clip-path="url(#breeze-prod-image-pull-line-32)">-help</text><text class="breeze-prod-image-pull-r6" x="158.6" y="800.8" textLength="24.4" clip-p [...]
-</text><text class="breeze-prod-image-pull-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-33)">
+</text><text class="breeze-prod-image-pull-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-7)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-7)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-7)">-python</text><text class="breeze-prod-image-pull-r6" x="244" y="190.8" textLength="24.4" clip-pa [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-8)">│</text><text class="breeze-prod-image-pull-r7" x="292.8" y="215.2" textLength="732" clip-path="url(#breeze-prod-image-pull-line-8)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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; [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-9)">│</text><text class="breeze-prod-image-pull-r5" x="292.8" y="239.6" textLength="732" clip-path="url(#breeze-prod-image-pull-line-9)">[default:&#160;3.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;& [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-10)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-10)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="264" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-10)">-verify</text><text class="breeze-prod-image-pull-r1" x="292.8" y="264" textLength="158.6" clip-path [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-11)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-11)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="288.4" textLength="61" clip-path="url(#breeze-prod-image-pull-line-11)">-wait</text><text class="breeze-prod-image-pull-r4" x="97.6" y="288.4" textLength="122" clip-pat [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-12)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-12)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="312.8" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-12)">-tag</text><text class="breeze-prod-image-pull-r4" x="85.4" y="312.8" textLength="122" clip-pa [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-13)">│</text><text class="breeze-prod-image-pull-r1" x="292.8" y="337.2" textLength="231.8" clip-path="url(#breeze-prod-image-pull-line-13)">or&#160;pull&#160;image&#160;with&#160;</text><text class="breeze-prod-image-pull-r4" x="524.6" y="337.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-13)">-</text><text class="breeze-prod-image-pull-r4" x="53 [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-14)">
+</text><text class="breeze-prod-image-pull-r5" x="0" y="386" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-15)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="386" textLength="219.6" clip-path="url(#breeze-prod-image-pull-line-15)">&#160;Parallel&#160;running&#160;</text><text class="breeze-prod-image-pull-r5" x="244" y="386" textLength="1195.6" clip-path="url(#breeze-prod-image-pull-line-15)">───────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-16)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-16)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="410.4" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-16)">-run</text><text class="breeze-prod-image-pull-r4" x="85.4" y="410.4" textLength="146.4" clip- [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-17)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-17)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="434.8" textLength="146.4" clip-path="url(#breeze-prod-image-pull-line-17)">-parallelism</text><text class="breeze-prod-image-pull-r1" x="378.2" y="434.8" textLength="91 [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-18)">│</text><text class="breeze-prod-image-pull-r7" x="378.2" y="459.2" textLength="915" clip-path="url(#breeze-prod-image-pull-line-18)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-prod-image-pull-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-19)">│</text><text class="breeze-prod-image-pull-r5" x="378.2" y="483.6" textLength="915" clip-path="url(#breeze-prod-image-pull-line-19)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-20)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-20)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="508" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-20)">-python</text><text class="breeze-prod-image-pull-r4" x="122" y="508" textLength="109.8" clip-path=" [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-21)">│</text><text class="breeze-prod-image-pull-r5" x="378.2" y="532.4" textLength="951.6" clip-path="url(#breeze-prod-image-pull-line-21)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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; [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-22)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-22)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="556.8" textLength="61" clip-path="url(#breeze-prod-image-pull-line-22)">-skip</text><text class="breeze-prod-image-pull-r4" x="97.6" y="556.8" textLength="97.6" clip-pa [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-23)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-23)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="581.2" textLength="73.2" clip-path="url(#breeze-prod-image-pull-line-23)">-debug</text><text class="breeze-prod-image-pull-r4" x="109.8" y="581.2" textLength="122" clip [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-24)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-24)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="605.6" textLength="97.6" clip-path="url(#breeze-prod-image-pull-line-24)">-include</text><text class="breeze-prod-image-pull-r4" x="134.2" y="605.6" textLength="195.2"  [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="630" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-25)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="630" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-25)">
+</text><text class="breeze-prod-image-pull-r5" x="0" y="654.4" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-26)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="654.4" textLength="280.6" clip-path="url(#breeze-prod-image-pull-line-26)">&#160;Github&#160;authentication&#160;</text><text class="breeze-prod-image-pull-r5" x="305" y="654.4" textLength="1134.6" clip-path="url(#breeze-prod-image-pull-line-26)">────────────────────────────────────────────────────── [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-27)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-27)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="678.8" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-27)">-github</text><text class="breeze-prod-image-pull-r4" x="122" y="678.8" textLength="134.2" cli [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-28)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-28)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="703.2" textLength="85.4" clip-path="url(#breeze-prod-image-pull-line-28)">-github</text><text class="breeze-prod-image-pull-r4" x="122" y="703.2" textLength="73.2" clip [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-29)">
+</text><text class="breeze-prod-image-pull-r5" x="0" y="752" textLength="24.4" clip-path="url(#breeze-prod-image-pull-line-30)">╭─</text><text class="breeze-prod-image-pull-r5" x="24.4" y="752" textLength="195.2" clip-path="url(#breeze-prod-image-pull-line-30)">&#160;Common&#160;options&#160;</text><text class="breeze-prod-image-pull-r5" x="219.6" y="752" textLength="1220" clip-path="url(#breeze-prod-image-pull-line-30)">─────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-31)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-31)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="776.4" textLength="97.6" clip-path="url(#breeze-prod-image-pull-line-31)">-verbose</text><text class="breeze-prod-image-pull-r6" x="158.6" y="776.4" textLength="24.4" c [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-32)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-32)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="800.8" textLength="48.8" clip-path="url(#breeze-prod-image-pull-line-32)">-dry</text><text class="breeze-prod-image-pull-r4" x="85.4" y="800.8" textLength="48.8" clip-p [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-33)">│</text><text class="breeze-prod-image-pull-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-33)">-</text><text class="breeze-prod-image-pull-r4" x="36.6" y="825.2" textLength="61" clip-path="url(#breeze-prod-image-pull-line-33)">-help</text><text class="breeze-prod-image-pull-r6" x="158.6" y="825.2" textLength="24.4" clip-p [...]
+</text><text class="breeze-prod-image-pull-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-prod-image-pull-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-prod-image-pull-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-prod-image-pull-line-34)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_prod-image_pull.txt b/dev/breeze/doc/images/output_prod-image_pull.txt
index 7efde9b404..2a3753775f 100644
--- a/dev/breeze/doc/images/output_prod-image_pull.txt
+++ b/dev/breeze/doc/images/output_prod-image_pull.txt
@@ -1 +1 @@
-3817ef211b023b76df84ee1110ef64dd
+cc93e1715ab169931a87c1d6b1157ddb
diff --git a/dev/breeze/doc/images/output_prod-image_verify.svg b/dev/breeze/doc/images/output_prod-image_verify.svg
index 5633e0226c..96321fe25d 100644
--- a/dev/breeze/doc/images/output_prod-image_verify.svg
+++ b/dev/breeze/doc/images/output_prod-image_verify.svg
@@ -160,7 +160,7 @@
 </text><text class="breeze-prod-image-verify-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-4)">
 </text><text class="breeze-prod-image-verify-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-prod-image-verify-line-5)">╭─</text><text class="breeze-prod-image-verify-r5" x="24.4" y="142" textLength="244" clip-path="url(#breeze-prod-image-verify-line-5)">&#160;Verify&#160;image&#160;flags&#160;</text><text class="breeze-prod-image-verify-r5" x="268.4" y="142" textLength="1171.2" clip-path="url(#breeze-prod-image-verify-line-5)">───────────────────────────────────────────────── [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-6)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-6)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-prod-image-verify-line-6)">-image</text><text class="breeze-prod-image-verify-r4" x="109.8" y="166.4" textLength [...]
-</text><text class="breeze-prod-image-verify-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-7)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-7)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-prod-image-verify-line-7)">-python</text><text class="breeze-prod-image-verify-r6" x="195.2" y="190.8" textLengt [...]
+</text><text class="breeze-prod-image-verify-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-7)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-7)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-prod-image-verify-line-7)">-python</text><text class="breeze-prod-image-verify-r6" x="195.2" y="190.8" textLengt [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-8)">│</text><text class="breeze-prod-image-verify-r5" x="244" y="215.2" textLength="732" clip-path="url(#breeze-prod-image-verify-line-8)">[default:&#160;3.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;& [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-9)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-9)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="239.6" textLength="61" clip-path="url(#breeze-prod-image-verify-line-9)">-slim</text><text class="breeze-prod-image-verify-r4" x="97.6" y="239.6" textLength="73 [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-10)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-10)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="264" textLength="73.2" clip-path="url(#breeze-prod-image-verify-line-10)">-image</text><text class="breeze-prod-image-verify-r4" x="109.8" y="264" textLength="48. [...]
@@ -172,7 +172,7 @@
 </text><text class="breeze-prod-image-verify-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-16)">│</text><text class="breeze-prod-image-verify-r7" x="378.2" y="410.4" textLength="915" clip-path="url(#breeze-prod-image-verify-line-16)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-prod-image-verify-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-17)">│</text><text class="breeze-prod-image-verify-r5" x="378.2" y="434.8" textLength="915" clip-path="url(#breeze-prod-image-verify-line-17)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-18)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-18)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="459.2" textLength="85.4" clip-path="url(#breeze-prod-image-verify-line-18)">-python</text><text class="breeze-prod-image-verify-r4" x="122" y="459.2" textLeng [...]
-</text><text class="breeze-prod-image-verify-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-19)">│</text><text class="breeze-prod-image-verify-r5" x="378.2" y="483.6" textLength="951.6" clip-path="url(#breeze-prod-image-verify-line-19)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.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;&# [...]
+</text><text class="breeze-prod-image-verify-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-19)">│</text><text class="breeze-prod-image-verify-r5" x="378.2" y="483.6" textLength="951.6" clip-path="url(#breeze-prod-image-verify-line-19)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.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;&#16 [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-20)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-20)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="508" textLength="61" clip-path="url(#breeze-prod-image-verify-line-20)">-skip</text><text class="breeze-prod-image-verify-r4" x="97.6" y="508" textLength="97.6" c [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-21)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-21)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="532.4" textLength="73.2" clip-path="url(#breeze-prod-image-verify-line-21)">-debug</text><text class="breeze-prod-image-verify-r4" x="109.8" y="532.4" textLen [...]
 </text><text class="breeze-prod-image-verify-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-22)">│</text><text class="breeze-prod-image-verify-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-prod-image-verify-line-22)">-</text><text class="breeze-prod-image-verify-r4" x="36.6" y="556.8" textLength="97.6" clip-path="url(#breeze-prod-image-verify-line-22)">-include</text><text class="breeze-prod-image-verify-r4" x="134.2" y="556.8" textL [...]
diff --git a/dev/breeze/doc/images/output_prod-image_verify.txt b/dev/breeze/doc/images/output_prod-image_verify.txt
index 8301a9d978..ba10a9b94c 100644
--- a/dev/breeze/doc/images/output_prod-image_verify.txt
+++ b/dev/breeze/doc/images/output_prod-image_verify.txt
@@ -1 +1 @@
-3d7fdd3877862ce9bfad8018a5282745
+5f5c03c80a4e23ddc088d5e59f914dfe
diff --git a/dev/breeze/doc/images/output_release-management_generate-constraints.svg b/dev/breeze/doc/images/output_release-management_generate-constraints.svg
index e00db31f3f..6042318b20 100644
--- a/dev/breeze/doc/images/output_release-management_generate-constraints.svg
+++ b/dev/breeze/doc/images/output_release-management_generate-constraints.svg
@@ -172,7 +172,7 @@
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-7)">│</text><text class="breeze-release-management-generate-constraints-r6" x="414.8" y="190.8" textLength="963.8" clip-path="url(#breeze-release-management-generate-constraints-line-7)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-8)">│</text><text class="breeze-release-management-generate-constraints-r5" x="414.8" y="215.2" textLength="963.8" clip-path="url(#breeze-release-management-generate-constraints-line-8)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-9)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-9)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="239.6" textLength="85.4" clip-path="url(#breeze-re [...]
-</text><text class="breeze-release-management-generate-constraints-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-10)">│</text><text class="breeze-release-management-generate-constraints-r6" x="414.8" y="264" textLength="732" clip-path="url(#breeze-release-management-generate-constraints-line-10)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-constraints-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-10)">│</text><text class="breeze-release-management-generate-constraints-r6" x="414.8" y="264" textLength="732" clip-path="url(#breeze-release-management-generate-constraints-line-10)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-11)">│</text><text class="breeze-release-management-generate-constraints-r5" x="414.8" y="288.4" textLength="732" clip-path="url(#breeze-release-management-generate-constraints-line-11)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-12)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-12)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="312.8" textLength="97.6" clip-path="url(#breeze- [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-13)">│</text><text class="breeze-release-management-generate-constraints-r6" x="414.8" y="337.2" textLength="866.2" clip-path="url(#breeze-release-management-generate-constraints-line-13)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class="breeze-release-mana [...]
@@ -188,7 +188,7 @@
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-23)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-23)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="581.2" textLength="146.4" clip-path="url(#breeze [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-24)">│</text><text class="breeze-release-management-generate-constraints-r5" x="280.6" y="605.6" textLength="915" clip-path="url(#breeze-release-management-generate-constraints-line-24)">[default:&#160;4;&#160;1&lt;=x&lt;=8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-25)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-25)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="630" textLength="85.4" clip-path="url(#breeze-releas [...]
-</text><text class="breeze-release-management-generate-constraints-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-26)">│</text><text class="breeze-release-management-generate-constraints-r5" x="280.6" y="654.4" textLength="951.6" clip-path="url(#breeze-release-management-generate-constraints-line-26)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-generate-constraints-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-26)">│</text><text class="breeze-release-management-generate-constraints-r5" x="280.6" y="654.4" textLength="951.6" clip-path="url(#breeze-release-management-generate-constraints-line-26)">[default:&#160;3.8&#160;3.9&#160;3.10&#160;3.11&#160;3.12]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-27)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-27)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="678.8" textLength="61" clip-path="url(#breeze-re [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-28)">│</text><text class="breeze-release-management-generate-constraints-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-28)">-</text><text class="breeze-release-management-generate-constraints-r4" x="36.6" y="703.2" textLength="73.2" clip-path="url(#breeze- [...]
 </text><text class="breeze-release-management-generate-constraints-r5" x="0" y="727.6" textLength="1464" clip-path="url(#breeze-release-management-generate-constraints-line-29)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-generate-constraints-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-constraints-line-29)">
diff --git a/dev/breeze/doc/images/output_release-management_generate-constraints.txt b/dev/breeze/doc/images/output_release-management_generate-constraints.txt
index 37b035c8d5..cd80b5b1c2 100644
--- a/dev/breeze/doc/images/output_release-management_generate-constraints.txt
+++ b/dev/breeze/doc/images/output_release-management_generate-constraints.txt
@@ -1 +1 @@
-587c21578af75c3c8fb9b4629e3577e1
+351d39f3b01d1c54a83097a7bfb6c7dc
diff --git a/dev/breeze/doc/images/output_release-management_generate-providers-metadata.svg b/dev/breeze/doc/images/output_release-management_generate-providers-metadata.svg
index 87d1e03692..0617bbea02 100644
--- a/dev/breeze/doc/images/output_release-management_generate-providers-metadata.svg
+++ b/dev/breeze/doc/images/output_release-management_generate-providers-metadata.svg
@@ -101,7 +101,7 @@
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-release-management-generate-providers-metadata-line-5)">╭─</text><text class="breeze-release-management-generate-providers-metadata-r5" x="24.4" y="142" textLength="427" clip-path="url(#breeze-release-management-generate-providers-metadata-line-5)">&#160;Generate&#160;providers&#160;metadata&#160;flags&#160;</text><text class="breeze-release-management-gene [...]
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-6)">│</text><text class="breeze-release-management-generate-providers-metadata-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-6)">-</text><text class="breeze-release-management-generate-providers-metadata-r4" x="36.6" y="166.4" textLeng [...]
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-7)">│</text><text class="breeze-release-management-generate-providers-metadata-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-7)">-</text><text class="breeze-release-management-generate-providers-metadata-r4" x="36.6" y="190.8" textLeng [...]
-</text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-8)">│</text><text class="breeze-release-management-generate-providers-metadata-r6" x="329.4" y="215.2" textLength="976" clip-path="url(#breeze-release-management-generate-providers-metadata-line-8)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-8)">│</text><text class="breeze-release-management-generate-providers-metadata-r6" x="329.4" y="215.2" textLength="976" clip-path="url(#breeze-release-management-generate-providers-metadata-line-8)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&# [...]
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="239.6" textLength="1464" clip-path="url(#breeze-release-management-generate-providers-metadata-line-9)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-generate-providers-metadata-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metad [...]
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="264" textLength="24.4" clip-path="url(#breeze-release-management-generate-providers-metadata-line-10)">╭─</text><text class="breeze-release-management-generate-providers-metadata-r5" x="24.4" y="264" textLength="195.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-10)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-generate-providers-metadata-r [...]
 </text><text class="breeze-release-management-generate-providers-metadata-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-11)">│</text><text class="breeze-release-management-generate-providers-metadata-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-providers-metadata-line-11)">-</text><text class="breeze-release-management-generate-providers-metadata-r4" x="36.6" y="288.4" textLe [...]
diff --git a/dev/breeze/doc/images/output_release-management_generate-providers-metadata.txt b/dev/breeze/doc/images/output_release-management_generate-providers-metadata.txt
index 875f0c598e..a7a955ae17 100644
--- a/dev/breeze/doc/images/output_release-management_generate-providers-metadata.txt
+++ b/dev/breeze/doc/images/output_release-management_generate-providers-metadata.txt
@@ -1 +1 @@
-d4e8e5cfaa024e3963af02d7a873048d
+1677df1d9992caf2709c5fa9cd4668b2
diff --git a/dev/breeze/doc/images/output_release-management_install-provider-packages.svg b/dev/breeze/doc/images/output_release-management_install-provider-packages.svg
index dd728de859..bbb0e32e79 100644
--- a/dev/breeze/doc/images/output_release-management_install-provider-packages.svg
+++ b/dev/breeze/doc/images/output_release-management_install-provider-packages.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1562.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1587.1999999999998" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-install-provider-packages-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1511.8" />
+      <rect x="0" y="0" width="1463.0" height="1536.1999999999998" />
     </clipPath>
     <clipPath id="breeze-release-management-install-provider-packages-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -228,9 +228,12 @@
 <clipPath id="breeze-release-management-install-provider-packages-line-60">
     <rect x="0" y="1465.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-install-provider-packages-line-61">
+    <rect x="0" y="1489.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="1560.8" rx="8"/><text class="breeze-release-management-install-provider-packages-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;install-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1585.2" rx="8"/><text class="breeze-release-management-install-provider-packages-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;install-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"/>
@@ -246,62 +249,63 @@
 </text><text class="breeze-release-management-install-provider-packages-r1" x="12.2" y="93.2" textLength="646.6" clip-path="url(#breeze-release-management-install-provider-packages-line-3)">Installs&#160;provider&#160;packages&#160;that&#160;can&#160;be&#160;found&#160;in&#160;dist.</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-3)">
 </text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-4)">
 </text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-5)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="142" textLength="353.8" clip-path="url(#breeze-release-management-install-provider-packages-line-5)">&#160;Provider&#160;installation&#160;flags&#160;</text><text class="breeze-release-management-install-provider-pack [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-6)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-6)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="166.4" textLength="85.4"  [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-7)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="329.4" y="190.8" textLength="732" clip-path="url(#breeze-release-management-install-provider-packages-line-7)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-8)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-8)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="215.2" textLength="73.2"  [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-9)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="329.4" y="239.6" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-9)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-10)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="329.4" y="264" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-10)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-11)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="329.4" y="288.4" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-11)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-12)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-12)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="312.8" textLength="85.4 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-13)">
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-14)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="361.6" textLength="512.4" clip-path="url(#breeze-release-management-install-provider-packages-line-14)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text class="breeze-release-man [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-15)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-15)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="386" textLength="97.6" clip [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-16)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="410.4" textLength="902.8" clip-path="url(#breeze-release-management-install-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-17)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-17)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="434.8" textLength="97.6 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-18)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="459.2" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class= [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-19)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="483.6" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-20)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-20)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="508" textLength="97.6" clip [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-21)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="532.4" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-22)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="556.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-23)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-23)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="581.2" textLength="97.6 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-24)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-24)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="605.6" textLength="97.6 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-25)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-25)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="630" textLength="97.6" clip [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-26)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="475.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-26)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="488" y="654.4" textLength="48.8 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-27)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="678.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-27)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-28)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-28)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="703.2" textLength="97.6 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-29)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="727.6" textLength="658.8" clip-path="url(#breeze-release-management-install-provider-packages-line-29)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-30)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-30)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="752" textLength="122" clip- [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-31)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="776.4" textLength="927.2" clip-path="url(#breeze-release-management-install-provider-packages-line-31)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-32)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-32)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="800.8" textLength="122" [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-33)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="825.2" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-33)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class= [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-34)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="849.6" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-34)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-35)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-35)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="874" textLength="122" clip- [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-36)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="898.4" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-36)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;de [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-37)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="922.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-37)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-38)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="947.2" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-38)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-39)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-39)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="971.6" textLength="122" [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-40)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-40)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="996" textLength="48.8" clip [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-41)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1020.4" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-41)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-42)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1044.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-42)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/) [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-43)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1069.2" textLength="97.6" clip-path="url(#breeze-release-management-install-provider-packages-line-43)">Implies&#160;</text><text class="breeze-release-management-install-provider-packages-r4" x="573.4" y="1069.2" [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-44)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="1093.6" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-44)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-45)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-45)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1118" textLength="48.8" c [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-46)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1142.4" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-46)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1166.8" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1191.2" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-48)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="1191.2" textLength="219.6" clip-path="url(#breeze-release-management-install-provider-packages-line-48)">&#160;Parallel&#160;running&#160;</text><text class="breeze-release-management-install-provider-packages-r5" [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-49)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-49)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1215.6" textLength="4 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-50)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-50)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1240" textLength="146.4"  [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-51)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="378.2" y="1264.4" textLength="915" clip-path="url(#breeze-release-management-install-provider-packages-line-51)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-52)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="378.2" y="1288.8" textLength="915" clip-path="url(#breeze-release-management-install-provider-packages-line-52)">[default:&#160;4;&#160;1&lt;=x&lt;=8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-53)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-53)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1313.2" textLength="6 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-54)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-54)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1337.6" textLength="9 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-55)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-55)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1362" textLength="73.2" c [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1386.4" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-56)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1410.8" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-57)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="1410.8" textLength="195.2" clip-path="url(#breeze-release-management-install-provider-packages-line-57)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-install-provider-packages-r5" x [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-58)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-58)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1435.2" textLength="4 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-59)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-59)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1459.6" textLength="9 [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-60)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-60)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1484" textLength="61" cli [...]
-</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1508.4" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1508.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-6)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-6)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="166.4" textLength="85.4"  [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-7)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="329.4" y="190.8" textLength="732" clip-path="url(#breeze-release-management-install-provider-packages-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-8)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="329.4" y="215.2" textLength="732" clip-path="url(#breeze-release-management-install-provider-packages-line-8)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-9)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-9)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="239.6" textLength="73.2"  [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-10)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="329.4" y="264" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-10)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-11)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="329.4" y="288.4" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-11)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-12)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="329.4" y="312.8" textLength="1110.2" clip-path="url(#breeze-release-management-install-provider-packages-line-12)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-13)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-13)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="337.2" textLength="85.4 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-14)">
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="386" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-15)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="386" textLength="512.4" clip-path="url(#breeze-release-management-install-provider-packages-line-15)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text class="breeze-release-managem [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-16)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-16)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="410.4" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-17)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="434.8" textLength="902.8" clip-path="url(#breeze-release-management-install-provider-packages-line-17)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-18)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-18)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="459.2" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-19)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="483.6" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-19)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class= [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-20)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="508" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-20)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-21)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-21)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="532.4" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-22)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="556.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-22)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-23)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="581.2" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-23)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-24)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-24)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="605.6" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-25)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-25)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="630" textLength="97.6" clip [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-26)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-26)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="654.4" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-27)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="475.8" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-27)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="488" y="678.8" textLength="48.8 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-28)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="703.2" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-28)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-29)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-29)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="727.6" textLength="97.6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-30)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="752" textLength="658.8" clip-path="url(#breeze-release-management-install-provider-packages-line-30)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-31)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-31)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="776.4" textLength="122" [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-32)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="800.8" textLength="927.2" clip-path="url(#breeze-release-management-install-provider-packages-line-32)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-33)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-33)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="825.2" textLength="122" [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-34)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="849.6" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-34)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class= [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-35)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="475.8" y="874" textLength="866.2" clip-path="url(#breeze-release-management-install-provider-packages-line-35)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-36)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-36)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="898.4" textLength="122" [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-37)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="922.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-37)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;de [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-38)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="947.2" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-38)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-39)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="971.6" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-39)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-40)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-40)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="996" textLength="122" clip- [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-41)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-41)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1020.4" textLength="4 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-42)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1044.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-42)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-43)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1069.2" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-43)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/) [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-44)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1093.6" textLength="97.6" clip-path="url(#breeze-release-management-install-provider-packages-line-44)">Implies&#160;</text><text class="breeze-release-management-install-provider-packages-r4" x="573.4" y="1093.6" [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-45)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="475.8" y="1118" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-45)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-46)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-46)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1142.4" textLength="4 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-47)">│</text><text class="breeze-release-management-install-provider-packages-r1" x="475.8" y="1166.8" textLength="963.8" clip-path="url(#breeze-release-management-install-provider-packages-line-47)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-49)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="1215.6" textLength="219.6" clip-path="url(#breeze-release-management-install-provider-packages-line-49)">&#160;Parallel&#160;running&#160;</text><text class="breeze-release-management-install-provider-packages-r5" [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-50)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-50)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1240" textLength="48.8" c [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-51)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-51)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1264.4" textLength="1 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-52)">│</text><text class="breeze-release-management-install-provider-packages-r7" x="378.2" y="1288.8" textLength="915" clip-path="url(#breeze-release-management-install-provider-packages-line-52)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-53)">│</text><text class="breeze-release-management-install-provider-packages-r5" x="378.2" y="1313.2" textLength="915" clip-path="url(#breeze-release-management-install-provider-packages-line-53)">[default:&#160;4;&#160;1&lt;=x&lt;=8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-54)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-54)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1337.6" textLength="6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-55)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1362" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-55)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1362" textLength="97.6" c [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-56)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1386.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-56)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1386.4" textLength="7 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1410.8" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-57)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1435.2" textLength="24.4" clip-path="url(#breeze-release-management-install-provider-packages-line-58)">╭─</text><text class="breeze-release-management-install-provider-packages-r5" x="24.4" y="1435.2" textLength="195.2" clip-path="url(#breeze-release-management-install-provider-packages-line-58)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-install-provider-packages-r5" x [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-59)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-59)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1459.6" textLength="4 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-60)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1484" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-60)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1484" textLength="97.6" c [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-61)">│</text><text class="breeze-release-management-install-provider-packages-r4" x="24.4" y="1508.4" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-line-61)">-</text><text class="breeze-release-management-install-provider-packages-r4" x="36.6" y="1508.4" textLength="6 [...]
+</text><text class="breeze-release-management-install-provider-packages-r5" x="0" y="1532.8" textLength="1464" clip-path="url(#breeze-release-management-install-provider-packages-line-62)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-install-provider-packages-r1" x="1464" y="1532.8" textLength="12.2" clip-path="url(#breeze-release-management-install-provider-packages-l [...]
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management_install-provider-packages.txt b/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
index cd480d68e4..0126dd0c7a 100644
--- a/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
+++ b/dev/breeze/doc/images/output_release-management_install-provider-packages.txt
@@ -1 +1 @@
-aba68f434b87d954ad27f594031bb919
+5074c71f3f66e53ed0d5cb923a50663d
diff --git a/dev/breeze/doc/images/output_release-management_release-prod-images.svg b/dev/breeze/doc/images/output_release-management_release-prod-images.svg
index 5d958a3d3e..43999a87ec 100644
--- a/dev/breeze/doc/images/output_release-management_release-prod-images.svg
+++ b/dev/breeze/doc/images/output_release-management_release-prod-images.svg
@@ -157,7 +157,7 @@
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-8)">│</text><text class="breeze-release-management-release-prod-images-r4" x="61" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-8)">-</text><text class="breeze-release-management-release-prod-images-r4" x="73.2" y="215.2" textLength="61" clip-path="url(#breeze-release-man [...]
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-9)">│</text><text class="breeze-release-management-release-prod-images-r4" x="61" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-9)">-</text><text class="breeze-release-management-release-prod-images-r4" x="73.2" y="239.6" textLength="73.2" clip-path="url(#breeze-release-m [...]
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-10)">│</text><text class="breeze-release-management-release-prod-images-r1" x="390.4" y="264" textLength="1049.2" clip-path="url(#breeze-release-management-release-prod-images-line-10)">all&#160;available&#160;python&#160;versions)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-release-prod-images-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-11)">│</text><text class="breeze-release-management-release-prod-images-r7" x="390.4" y="288.4" textLength="1049.2" clip-path="url(#breeze-release-management-release-prod-images-line-11)">(3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-release-prod-images-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-11)">│</text><text class="breeze-release-management-release-prod-images-r7" x="390.4" y="288.4" textLength="1049.2" clip-path="url(#breeze-release-management-release-prod-images-line-11)">(3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-12)">│</text><text class="breeze-release-management-release-prod-images-r4" x="61" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-12)">-</text><text class="breeze-release-management-release-prod-images-r4" x="73.2" y="312.8" textLength="73.2" clip-path="url(#breeze-release [...]
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-13)">│</text><text class="breeze-release-management-release-prod-images-r1" x="390.4" y="337.2" textLength="1049.2" clip-path="url(#breeze-release-management-release-prod-images-line-13)">built.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
 </text><text class="breeze-release-management-release-prod-images-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-release-prod-images-line-14)">│</text><text class="breeze-release-management-release-prod-images-r7" x="390.4" y="361.6" textLength="1049.2" clip-path="url(#breeze-release-management-release-prod-images-line-14)">(linux/amd64&#160;|&#160;linux/arm64&#160;|&#160;linux/amd64,linux/arm64)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
diff --git a/dev/breeze/doc/images/output_release-management_release-prod-images.txt b/dev/breeze/doc/images/output_release-management_release-prod-images.txt
index 96ce03643f..234805fc79 100644
--- a/dev/breeze/doc/images/output_release-management_release-prod-images.txt
+++ b/dev/breeze/doc/images/output_release-management_release-prod-images.txt
@@ -1 +1 @@
-7df532d7f563185a27b49f18286d2572
+1543e401dd6e88b24479a08c2f6c8967
diff --git a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
index 71011b5580..48470ed57c 100644
--- a/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
+++ b/dev/breeze/doc/images/output_release-management_verify-provider-packages.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1343.1999999999998" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1367.6" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-release-management-verify-provider-packages-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1292.1999999999998" />
+      <rect x="0" y="0" width="1463.0" height="1316.6" />
     </clipPath>
     <clipPath id="breeze-release-management-verify-provider-packages-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -201,9 +201,12 @@
 <clipPath id="breeze-release-management-verify-provider-packages-line-51">
     <rect x="0" y="1245.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-verify-provider-packages-line-52">
+    <rect x="0" y="1270.3" 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="1341.2" rx="8"/><text class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;verify-provider-packages</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1365.6" rx="8"/><text class="breeze-release-management-verify-provider-packages-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;verify-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"/>
@@ -219,53 +222,54 @@
 </text><text class="breeze-release-management-verify-provider-packages-r1" x="12.2" y="93.2" textLength="854" clip-path="url(#breeze-release-management-verify-provider-packages-line-3)">Verifies&#160;if&#160;all&#160;provider&#160;code&#160;is&#160;following&#160;expectations&#160;for&#160;providers.</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-3)">
 </text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-4)">
 </text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-5)">╭─</text><text class="breeze-release-management-verify-provider-packages-r5" x="24.4" y="142" textLength="353.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-5)">&#160;Provider&#160;verification&#160;flags&#160;</text><text class="breeze-release-management-verify-provider-packages- [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-6)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-6)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="166.4" textLength="85.4" clip- [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-7)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="329.4" y="190.8" textLength="732" clip-path="url(#breeze-release-management-verify-provider-packages-line-7)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-8)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-8)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="215.2" textLength="73.2" clip- [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-9)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="329.4" y="239.6" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-9)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-10)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="329.4" y="264" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-10)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-11)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="329.4" y="288.4" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-11)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="312.8" textLength="85.4" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="337.2" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="361.6" textLength="24.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">╭─</text><text class="breeze-release-management-verify-provider-packages-r5" x="24.4" y="361.6" textLength="512.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text class="breeze-release-managem [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="386" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="386" textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="410.4" textLength="902.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="434.8" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="459.2" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="483.6" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="508" textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="532.4" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="556.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="581.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="605.6" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" textLength="97.6" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="475.8" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="488" y="654.4" textLength="48.8" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="678.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="703.2" textLength="97.6" cli [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="727.6" textLength="658.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="752" textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="776.4" textLength="927.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="800.8" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="825.2" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class="bre [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="849.6" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="874" textLength="122" clip-path= [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="898.4" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;defaul [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="922.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="947.2" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="971.6" textLength="122" clip [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="996" textLength="48.8" clip-path [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1020.4" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#16 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1044.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).</t [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1069.2" textLength="97.6" clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">Implies&#160;</text><text class="breeze-release-management-verify-provider-packages-r4" x="573.4" y="1069.2" text [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="1093.6" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1118" textLength="48.8" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1142.4" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1166.8" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1191.2" textLength="24.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">╭─</text><text class="breeze-release-management-verify-provider-packages-r5" x="24.4" y="1191.2" textLength="195.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1215.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1215.6" textLength="48.8"  [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1240" textLength="97.6" clip-p [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1264.4" textLength="61" cl [...]
-</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1288.8" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-6)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-6)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="166.4" textLength="85.4" clip- [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-7)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="329.4" y="190.8" textLength="732" clip-path="url(#breeze-release-management-verify-provider-packages-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-8)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="329.4" y="215.2" textLength="732" clip-path="url(#breeze-release-management-verify-provider-packages-line-8)">[default:&#160;3.8]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-9)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-9)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="239.6" textLength="73.2" clip- [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-10)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="329.4" y="264" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-10)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-11)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="329.4" y="288.4" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-11)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="329.4" y="312.8" textLength="1110.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-12)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-13)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="337.2" textLength="85.4" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-14)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="386" textLength="24.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">╭─</text><text class="breeze-release-management-verify-provider-packages-r5" x="24.4" y="386" textLength="512.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-15)">&#160;Installing&#160;packages&#160;after&#160;entering&#160;shell&#160;</text><text class="breeze-release-management- [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-16)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="410.4" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="434.8" textLength="902.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-17)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-18)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="459.2" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="483.6" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-19)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class="bre [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="508" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-20)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-21)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="532.4" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="556.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-22)">constraints&#160;URL).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="581.2" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-23)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-24)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="605.6" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-25)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="630" textLength="97.6" clip-path [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-26)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="654.4" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="475.8" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-27)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="488" y="678.8" textLength="48.8" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="703.2" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-28)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-29)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="727.6" textLength="97.6" cli [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="752" textLength="658.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-30)">[default:&#160;wheel]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-31)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="776.4" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="800.8" textLength="927.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-32)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="825.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-33)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="825.2" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="849.6" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-34)">(constraints-source-providers&#160;|&#160;constraints&#160;|&#160;constraints-no-providers)</text><text class="bre [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">│</text><text class="breeze-release-management-verify-provider-packages-r5" x="475.8" y="874" textLength="866.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-35)">[default:&#160;constraints-source-providers]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-36)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="898.4" textLength="122" clip [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="922.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-37)">constraints&#160;URL).&#160;Can&#160;be&#160;&#x27;default&#x27;&#160;in&#160;which&#160;case&#160;the&#160;defaul [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="947.2" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-38)">constraints-reference&#160;is&#160;used.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="971.6" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-39)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-40)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="996" textLength="122" clip-path= [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-41)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1020.4" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1044.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-42)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#16 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1069.2" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-43)">or&#160;VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).</t [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1093.6" textLength="97.6" clip-path="url(#breeze-release-management-verify-provider-packages-line-44)">Implies&#160;</text><text class="breeze-release-management-verify-provider-packages-r4" x="573.4" y="1093.6" text [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">│</text><text class="breeze-release-management-verify-provider-packages-r7" x="475.8" y="1118" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-45)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-46)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1142.4" textLength="48.8"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">│</text><text class="breeze-release-management-verify-provider-packages-r1" x="475.8" y="1166.8" textLength="963.8" clip-path="url(#breeze-release-management-verify-provider-packages-line-47)">folder&#160;when&#160;entering&#160;breeze.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-48)">
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">╭─</text><text class="breeze-release-management-verify-provider-packages-r5" x="24.4" y="1215.6" textLength="195.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-49)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-verify-provider-packages-r5" x="219 [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1240" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-50)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1240" textLength="48.8" clip-p [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-51)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1264.4" textLength="97.6"  [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">│</text><text class="breeze-release-management-verify-provider-packages-r4" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-52)">-</text><text class="breeze-release-management-verify-provider-packages-r4" x="36.6" y="1288.8" textLength="61" cl [...]
+</text><text class="breeze-release-management-verify-provider-packages-r5" x="0" y="1313.2" textLength="1464" clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-verify-provider-packages-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#breeze-release-management-verify-provider-packages-line-53)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
index 9ea71c96db..6c5372caed 100644
--- a/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
+++ b/dev/breeze/doc/images/output_release-management_verify-provider-packages.txt
@@ -1 +1 @@
-2d128022c661ad702c6236dd75dd8531
+d8552dfdc53d1e8312e79e2d532c1cd7
diff --git a/dev/breeze/doc/images/output_sbom_build-all-airflow-images.svg b/dev/breeze/doc/images/output_sbom_build-all-airflow-images.svg
index 76e5648299..3bef68d4e7 100644
--- a/dev/breeze/doc/images/output_sbom_build-all-airflow-images.svg
+++ b/dev/breeze/doc/images/output_sbom_build-all-airflow-images.svg
@@ -133,7 +133,7 @@
 </text><text class="breeze-sbom-build-all-airflow-images-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-4)">
 </text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-sbom-build-all-airflow-images-line-5)">╭─</text><text class="breeze-sbom-build-all-airflow-images-r5" x="24.4" y="142" textLength="427" clip-path="url(#breeze-sbom-build-all-airflow-images-line-5)">&#160;Generate&#160;all&#160;airflow&#160;images&#160;flags&#160;</text><text class="breeze-sbom-build-all-airflow-images-r5" x="451.4" y="142" textLength="988.2" clip-path="url( [...]
 </text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-6)">│</text><text class="breeze-sbom-build-all-airflow-images-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-6)">-</text><text class="breeze-sbom-build-all-airflow-images-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-sbom-build-all-airflow-images-line-6)">-python</text [...]
-</text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-7)">│</text><text class="breeze-sbom-build-all-airflow-images-r6" x="170.8" y="190.8" textLength="976" clip-path="url(#breeze-sbom-build-all-airflow-images-line-7)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-7)">│</text><text class="breeze-sbom-build-all-airflow-images-r6" x="170.8" y="190.8" textLength="976" clip-path="url(#breeze-sbom-build-all-airflow-images-line-7)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#16 [...]
 </text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="215.2" textLength="1464" clip-path="url(#breeze-sbom-build-all-airflow-images-line-8)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-sbom-build-all-airflow-images-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-8)">
 </text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="239.6" textLength="24.4" clip-path="url(#breeze-sbom-build-all-airflow-images-line-9)">╭─</text><text class="breeze-sbom-build-all-airflow-images-r5" x="24.4" y="239.6" textLength="219.6" clip-path="url(#breeze-sbom-build-all-airflow-images-line-9)">&#160;Parallel&#160;running&#160;</text><text class="breeze-sbom-build-all-airflow-images-r5" x="244" y="239.6" textLength="1195.6" clip-path="url(#breeze-sbom-build-all-ai [...]
 </text><text class="breeze-sbom-build-all-airflow-images-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-10)">│</text><text class="breeze-sbom-build-all-airflow-images-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-sbom-build-all-airflow-images-line-10)">-</text><text class="breeze-sbom-build-all-airflow-images-r4" x="36.6" y="264" textLength="48.8" clip-path="url(#breeze-sbom-build-all-airflow-images-line-10)">-run</text><text [...]
diff --git a/dev/breeze/doc/images/output_sbom_build-all-airflow-images.txt b/dev/breeze/doc/images/output_sbom_build-all-airflow-images.txt
index dbf59286ff..88751cb912 100644
--- a/dev/breeze/doc/images/output_sbom_build-all-airflow-images.txt
+++ b/dev/breeze/doc/images/output_sbom_build-all-airflow-images.txt
@@ -1 +1 @@
-32f8acade299c2b112e986bae99846db
+fbf15f8f21cdda9f815a801d9e266b61
diff --git a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
index dbc947ad26..2d0ad30ead 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg
@@ -181,7 +181,7 @@
 </text><text class="breeze-sbom-generate-providers-requirements-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-4)">
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-sbom-generate-providers-requirements-line-5)">╭─</text><text class="breeze-sbom-generate-providers-requirements-r5" x="24.4" y="142" textLength="463.6" clip-path="url(#breeze-sbom-generate-providers-requirements-line-5)">&#160;Generate&#160;provider&#160;requirements&#160;flags&#160;</text><text class="breeze-sbom-generate-providers-requirements-r5" x="488" y="142" t [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-6)">│</text><text class="breeze-sbom-generate-providers-requirements-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-6)">-</text><text class="breeze-sbom-generate-providers-requirements-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-sbom-generate-pro [...]
-</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">│</text><text class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="190.8" textLength="976" clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">│</text><text class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="190.8" textLength="976" clip-path="url(#breeze-sbom-generate-providers-requirements-line-7)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-8)">│</text><text class="breeze-sbom-generate-providers-requirements-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-8)">-</text><text class="breeze-sbom-generate-providers-requirements-r4" x="36.6" y="215.2" textLength="109.8" clip-path="url(#breeze-sbom-generate-pr [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-9)">│</text><text class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="239.6" textLength="1146.8" clip-path="url(#breeze-sbom-generate-providers-requirements-line-9)">(airbyte&#160;|&#160;alibaba&#160;|&#160;amazon&#160;|&#160;apache.beam&#160;|&#160;apache.cassandra&#160;|&#160;apache.drill&#160;|&#160;apach [...]
 </text><text class="breeze-sbom-generate-providers-requirements-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">│</text><text class="breeze-sbom-generate-providers-requirements-r6" x="292.8" y="264" textLength="1146.8" clip-path="url(#breeze-sbom-generate-providers-requirements-line-10)">apache.flink&#160;|&#160;apache.hdfs&#160;|&#160;apache.hive&#160;|&#160;apache.impala&#160;|&#160;apache.kafka&#160;|&#160;apache.kylin&#160;|&# [...]
diff --git a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
index 56eadeec24..b7e22d5eb2 100644
--- a/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
+++ b/dev/breeze/doc/images/output_sbom_generate-providers-requirements.txt
@@ -1 +1 @@
-84d46887b3f47bc209014ec5cb26406c
+f915c5be6e506b2f10efba88916cde57
diff --git a/dev/breeze/doc/images/output_sbom_update-sbom-information.svg b/dev/breeze/doc/images/output_sbom_update-sbom-information.svg
index 802927e439..7e5e5fcacf 100644
--- a/dev/breeze/doc/images/output_sbom_update-sbom-information.svg
+++ b/dev/breeze/doc/images/output_sbom_update-sbom-information.svg
@@ -170,7 +170,7 @@
 </text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-9)">│</text><text class="breeze-sbom-update-sbom-information-r7" x="488" y="239.6" textLength="951.6" clip-path="url(#breeze-sbom-update-sbom-information-line-9)">(TEXT)&#160;&#160;&#160;&#160;&#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="breeze-sbom-update-sbom-information-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-10)">│</text><text class="breeze-sbom-update-sbom-information-r4" x="61" y="264" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-10)">-</text><text class="breeze-sbom-update-sbom-information-r4" x="73.2" y="264" textLength="85.4" clip-path="url(#breeze-sbom-update-sbom-information-line-10)">-python</text><text clas [...]
 </text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-11)">│</text><text class="breeze-sbom-update-sbom-information-r1" x="488" y="288.4" textLength="951.6" clip-path="url(#breeze-sbom-update-sbom-information-line-11)">versions)&#160;&#160;&#160;&#160;&#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="breeze-sbom-update-sbom-information-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-12)">│</text><text class="breeze-sbom-update-sbom-information-r7" x="488" y="312.8" textLength="951.6" clip-path="url(#breeze-sbom-update-sbom-information-line-12)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-12)">│</text><text class="breeze-sbom-update-sbom-information-r7" x="488" y="312.8" textLength="951.6" clip-path="url(#breeze-sbom-update-sbom-information-line-12)">(3.6&#160;|&#160;3.7&#160;|&#160;3.8&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
 </text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-13)">│</text><text class="breeze-sbom-update-sbom-information-r4" x="61" y="337.2" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-13)">-</text><text class="breeze-sbom-update-sbom-information-r4" x="73.2" y="337.2" textLength="97.6" clip-path="url(#breeze-sbom-update-sbom-information-line-13)">-include</text><te [...]
 </text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-14)">│</text><text class="breeze-sbom-update-sbom-information-r4" x="61" y="361.6" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-14)">-</text><text class="breeze-sbom-update-sbom-information-r4" x="73.2" y="361.6" textLength="97.6" clip-path="url(#breeze-sbom-update-sbom-information-line-14)">-package</text><te [...]
 </text><text class="breeze-sbom-update-sbom-information-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-sbom-update-sbom-information-line-15)">│</text><text class="breeze-sbom-update-sbom-information-r1" x="488" y="386" textLength="951.6" clip-path="url(#breeze-sbom-update-sbom-information-line-15)">`apache-airflow-providers`&#160;to&#160;consider&#160;all&#160;the&#160;providers.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
diff --git a/dev/breeze/doc/images/output_sbom_update-sbom-information.txt b/dev/breeze/doc/images/output_sbom_update-sbom-information.txt
index e31da63f35..33bdc4a9bc 100644
--- a/dev/breeze/doc/images/output_sbom_update-sbom-information.txt
+++ b/dev/breeze/doc/images/output_sbom_update-sbom-information.txt
@@ -1 +1 @@
-e49cf33ae18ab7d16af7ef3b73035a10
+fb9b765666346217c8c3d2248952269b
diff --git a/dev/breeze/doc/images/output_setup_config.svg b/dev/breeze/doc/images/output_setup_config.svg
index 933c626444..862cc49edf 100644
--- a/dev/breeze/doc/images/output_setup_config.svg
+++ b/dev/breeze/doc/images/output_setup_config.svg
@@ -130,7 +130,7 @@
 </text><text class="breeze-setup-config-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-4)">
 </text><text class="breeze-setup-config-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-setup-config-line-5)">╭─</text><text class="breeze-setup-config-r5" x="24.4" y="142" textLength="170.8" clip-path="url(#breeze-setup-config-line-5)">&#160;Config&#160;flags&#160;</text><text class="breeze-setup-config-r5" x="195.2" y="142" textLength="1244.4" clip-path="url(#breeze-setup-config-line-5)">──────────────────────────────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-setup-config-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-config-line-6)">│</text><text class="breeze-setup-config-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-config-line-6)">-</text><text class="breeze-setup-config-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-setup-config-line-6)">-python</text><text class="breeze-setup-config-r6" x="390.4" y="166.4" textLength="24.4" clip-path="url(#breeze-set [...]
-</text><text class="breeze-setup-config-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-7)">│</text><text class="breeze-setup-config-r7" x="475.8" y="190.8" textLength="732" clip-path="url(#breeze-setup-config-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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 [...]
+</text><text class="breeze-setup-config-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-config-line-7)">│</text><text class="breeze-setup-config-r7" x="475.8" y="190.8" textLength="732" clip-path="url(#breeze-setup-config-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text [...]
 </text><text class="breeze-setup-config-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-setup-config-line-8)">│</text><text class="breeze-setup-config-r5" x="475.8" y="215.2" textLength="732" clip-path="url(#breeze-setup-config-line-8)">[default:&#160;3.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;& [...]
 </text><text class="breeze-setup-config-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-9)">│</text><text class="breeze-setup-config-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-config-line-9)">-</text><text class="breeze-setup-config-r4" x="36.6" y="239.6" textLength="97.6" clip-path="url(#breeze-setup-config-line-9)">-backend</text><text class="breeze-setup-config-r6" x="390.4" y="239.6" textLength="24.4" clip-path="url(#breeze-se [...]
 </text><text class="breeze-setup-config-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-config-line-10)">│</text><text class="breeze-setup-config-r1" x="475.8" y="264" textLength="963.8" clip-path="url(#breeze-setup-config-line-10)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;&#160;&#160;</text><text class="breeze-setup-config-r5" x="1451.8" y="264" textLength="12.2" clip-pa [...]
diff --git a/dev/breeze/doc/images/output_setup_config.txt b/dev/breeze/doc/images/output_setup_config.txt
index 2023adf97b..5681b109cc 100644
--- a/dev/breeze/doc/images/output_setup_config.txt
+++ b/dev/breeze/doc/images/output_setup_config.txt
@@ -1 +1 @@
-641efaa287c0e410a119d048b54b022a
+f59e1732fcaa9b00e19f763e2a25ae0f
diff --git a/dev/breeze/doc/images/output_shell.svg b/dev/breeze/doc/images/output_shell.svg
index ff0289a6c7..6354c251bb 100644
--- a/dev/breeze/doc/images/output_shell.svg
+++ b/dev/breeze/doc/images/output_shell.svg
@@ -427,7 +427,7 @@
 </text><text class="breeze-shell-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-shell-line-4)">
 </text><text class="breeze-shell-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-shell-line-5)">╭─</text><text class="breeze-shell-r5" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-shell-line-5)">&#160;Execution&#160;mode&#160;</text><text class="breeze-shell-r5" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-shell-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-she [...]
 </text><text class="breeze-shell-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-shell-line-6)">│</text><text class="breeze-shell-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-shell-line-6)">-</text><text class="breeze-shell-r4" x="36.6" y="166.4" textLength="85.4" clip-path="url(#breeze-shell-line-6)">-python</text><text class="breeze-shell-r6" x="366" y="166.4" textLength="24.4" clip-path="url(#breeze-shell-line-6)">-p</text><text class="breeze-shell-r1"  [...]
-</text><text class="breeze-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-shell-line-7)">│</text><text class="breeze-shell-r7" x="414.8" y="190.8" textLength="732" clip-path="url(#breeze-shell-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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;</text><t [...]
+</text><text class="breeze-shell-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-shell-line-7)">│</text><text class="breeze-shell-r7" x="414.8" y="190.8" textLength="732" clip-path="url(#breeze-shell-line-7)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</text><text class="breeze-shell-r [...]
 </text><text class="breeze-shell-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-shell-line-8)">│</text><text class="breeze-shell-r5" x="414.8" y="215.2" textLength="732" clip-path="url(#breeze-shell-line-8)">[default:&#160;3.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 [...]
 </text><text class="breeze-shell-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-shell-line-9)">│</text><text class="breeze-shell-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-shell-line-9)">-</text><text class="breeze-shell-r4" x="36.6" y="239.6" textLength="146.4" clip-path="url(#breeze-shell-line-9)">-integration</text><text class="breeze-shell-r1" x="414.8" y="239.6" textLength="1024.8" clip-path="url(#breeze-shell-line-9)">Integration(s)&#160;to&#160;e [...]
 </text><text class="breeze-shell-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-shell-line-10)">│</text><text class="breeze-shell-r7" x="414.8" y="264" textLength="1024.8" clip-path="url(#breeze-shell-line-10)">(all&#160;|&#160;all-testable&#160;|&#160;cassandra&#160;|&#160;celery&#160;|&#160;kafka&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;openlineage&#160;|&#160;</text><text class="breeze-shell-r5" x="1451.8" y="264" textLength="12.2" clip-path="url(#breeze-shell-li [...]
diff --git a/dev/breeze/doc/images/output_shell.txt b/dev/breeze/doc/images/output_shell.txt
index ca43ac6ab7..0aac3edb13 100644
--- a/dev/breeze/doc/images/output_shell.txt
+++ b/dev/breeze/doc/images/output_shell.txt
@@ -1 +1 @@
-7658b53f007e54deb8da7c69edd878c3
+5c0ef1f5a583dcf145629eaa8cc8b0ae
diff --git a/dev/breeze/doc/images/output_start-airflow.svg b/dev/breeze/doc/images/output_start-airflow.svg
index 18922ae8f7..fb6cb6d8d1 100644
--- a/dev/breeze/doc/images/output_start-airflow.svg
+++ b/dev/breeze/doc/images/output_start-airflow.svg
@@ -383,7 +383,7 @@
 </text><text class="breeze-start-airflow-r1" x="1464" y="142" textLength="12.2" clip-path="url(#breeze-start-airflow-line-5)">
 </text><text class="breeze-start-airflow-r5" x="0" y="166.4" textLength="24.4" clip-path="url(#breeze-start-airflow-line-6)">╭─</text><text class="breeze-start-airflow-r5" x="24.4" y="166.4" textLength="195.2" clip-path="url(#breeze-start-airflow-line-6)">&#160;Execution&#160;mode&#160;</text><text class="breeze-start-airflow-r5" x="219.6" y="166.4" textLength="1220" clip-path="url(#breeze-start-airflow-line-6)">──────────────────────────────────────────────────────────────────────────── [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-7)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-start-airflow-line-7)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="190.8" textLength="85.4" clip-path="url(#breeze-start-airflow-line-7)">-python</text><text class="breeze-start-airflow-r6" x="366" y="190.8" textLength="24.4" clip-path="url(#breez [...]
-</text><text class="breeze-start-airflow-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-8)">│</text><text class="breeze-start-airflow-r7" x="414.8" y="215.2" textLength="732" clip-path="url(#breeze-start-airflow-line-8)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.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;& [...]
+</text><text class="breeze-start-airflow-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-start-airflow-line-8)">│</text><text class="breeze-start-airflow-r7" x="414.8" y="215.2" textLength="732" clip-path="url(#breeze-start-airflow-line-8)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</ [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-start-airflow-line-9)">│</text><text class="breeze-start-airflow-r5" x="414.8" y="239.6" textLength="732" clip-path="url(#breeze-start-airflow-line-9)">[default:&#160;3.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;&#1 [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-start-airflow-line-10)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-start-airflow-line-10)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="264" textLength="109.8" clip-path="url(#breeze-start-airflow-line-10)">-platform</text><text class="breeze-start-airflow-r1" x="414.8" y="264" textLength="329.4" clip-path="url(#bree [...]
 </text><text class="breeze-start-airflow-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-11)">│</text><text class="breeze-start-airflow-r4" x="24.4" y="288.4" textLength="12.2" clip-path="url(#breeze-start-airflow-line-11)">-</text><text class="breeze-start-airflow-r4" x="36.6" y="288.4" textLength="146.4" clip-path="url(#breeze-start-airflow-line-11)">-integration</text><text class="breeze-start-airflow-r1" x="414.8" y="288.4" textLength="1024.8" clip-pat [...]
diff --git a/dev/breeze/doc/images/output_start-airflow.txt b/dev/breeze/doc/images/output_start-airflow.txt
index d8b5dd0f70..6fe4df06c3 100644
--- a/dev/breeze/doc/images/output_start-airflow.txt
+++ b/dev/breeze/doc/images/output_start-airflow.txt
@@ -1 +1 @@
-1664c1bda5204995062f50c4e97b087d
+99f969fe52d8735b20524bbab2f12c9b
diff --git a/dev/breeze/doc/images/output_testing_db-tests.svg b/dev/breeze/doc/images/output_testing_db-tests.svg
index 84d78fe979..a4bc3c875a 100644
--- a/dev/breeze/doc/images/output_testing_db-tests.svg
+++ b/dev/breeze/doc/images/output_testing_db-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1831.1999999999998" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1855.6" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-db-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1780.1999999999998" />
+      <rect x="0" y="0" width="1463.0" height="1804.6" />
     </clipPath>
     <clipPath id="breeze-testing-db-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -261,9 +261,12 @@
 <clipPath id="breeze-testing-db-tests-line-71">
     <rect x="0" y="1733.9" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-db-tests-line-72">
+    <rect x="0" y="1758.3" 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="1829.2" rx="8"/><text class="breeze-testing-db-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;db-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1853.6" rx="8"/><text class="breeze-testing-db-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;db-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -307,45 +310,46 @@
 </text><text class="breeze-testing-db-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-31)">│</text><text class="breeze-testing-db-tests-r1" x="353.8" y="776.4" textLength="1085.8" clip-path="url(#breeze-testing-db-tests-line-31)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-testi [...]
 </text><text class="breeze-testing-db-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-32)">│</text><text class="breeze-testing-db-tests-r6" x="353.8" y="800.8" textLength="1085.8" clip-path="url(#breeze-testing-db-tests-line-32)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;none)&#160;&#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="breeze-testing-db-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-33)">│</text><text class="breeze-testing-db-tests-r5" x="353.8" y="825.2" textLength="1085.8" clip-path="url(#breeze-testing-db-tests-line-33)">[default:&#160;sqlite]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-34)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-34)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="849.6" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-34)">-python</text><text class="breeze-testing-db-tests-r7" x="305" y="849.6" textLength="24. [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-35)">│</text><text class="breeze-testing-db-tests-r5" x="353.8" y="874" textLength="732" clip-path="url(#breeze-testing-db-tests-line-35)">[default:&#160;3.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 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-36)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-36)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="898.4" textLength="109.8" clip-path="url(#breeze-testing-db-tests-line-36)">-postgres</text><text class="breeze-testing-db-tests-r4" x="146.4" y="898.4" textLength [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-37)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-37)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="922.8" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-37)">-mysql</text><text class="breeze-testing-db-tests-r4" x="109.8" y="922.8" textLength="97 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-38)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-38)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="947.2" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-38)">-forward</text><text class="breeze-testing-db-tests-r4" x="134.2" y="947.2" textLength=" [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="971.6" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-39)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-39)">
-</text><text class="breeze-testing-db-tests-r5" x="0" y="996" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-40)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="996" textLength="439.2" clip-path="url(#breeze-testing-db-tests-line-40)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-db-tests-r5" x="463.6" y="996" textLength="976" clip-path="url(#breeze-testing-db-tests-line-40)">─────────────────────────── [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-41)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-41)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1020.4" textLength="146.4" clip-path="url(#breeze-testing-db-tests-line-41)">-parallelism</text><text class="breeze-testing-db-tests-r1" x="378.2" y="1020.4" tex [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-42)">│</text><text class="breeze-testing-db-tests-r6" x="378.2" y="1044.8" textLength="915" clip-path="url(#breeze-testing-db-tests-line-42)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-43)">│</text><text class="breeze-testing-db-tests-r5" x="378.2" y="1069.2" textLength="915" clip-path="url(#breeze-testing-db-tests-line-43)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-44)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-44)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1093.6" textLength="61" clip-path="url(#breeze-testing-db-tests-line-44)">-skip</text><text class="breeze-testing-db-tests-r4" x="97.6" y="1093.6" textLength="97 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-45)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-45)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1118" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-45)">-debug</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1118" textLength="122" c [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-46)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-46)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1142.4" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-46)">-include</text><text class="breeze-testing-db-tests-r4" x="134.2" y="1142.4" textLeng [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1166.8" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-47)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-47)">
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1191.2" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-48)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="1191.2" textLength="402.6" clip-path="url(#breeze-testing-db-tests-line-48)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-db-tests-r5" x="427" y="1191.2" textLength="1012.6" clip-path="url(#breeze-testing-db-tests-line-48)">──────────────────── [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-49)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-49)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1215.6" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-49)">-image</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1215.6" textLength [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-50)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1240" textLength="963.8" clip-path="url(#breeze-testing-db-tests-line-50)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-51)">│</text><text class="breeze-testing-db-tests-r5" x="414.8" y="1264.4" textLength="963.8" clip-path="url(#breeze-testing-db-tests-line-51)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-52)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-52)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1288.8" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-52)">-github</text><text class="breeze-testing-db-tests-r4" x="122" y="1288.8" textLength= [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-53)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-53)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1313.2" textLength="48.8" clip-path="url(#breeze-testing-db-tests-line-53)">-use</text><text class="breeze-testing-db-tests-r4" x="85.4" y="1313.2" textLength="1 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-54)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1337.6" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-54)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-db-tests-r5" x="1451.8" y [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-55)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1362" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-55)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-db-tests-r5" x="1451.8" y="1362" textLength="12.2" clip-path="url(#breeze- [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-56)">│</text><text class="breeze-testing-db-tests-r4" x="414.8" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-56)">-</text><text class="breeze-testing-db-tests-r4" x="427" y="1386.4" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-56)">-mount</text><text class="breeze-testing-db-tests-r4" x="500.2" y="1386.4" textLength [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-57)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1410.8" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-57)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#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="breeze-testing-db-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-58)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-58)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1435.2" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-58)">-mount</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1435.2" textLength [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-59)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1459.6" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-59)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-60)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1484" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-60)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-61)">│</text><text class="breeze-testing-db-tests-r5" x="414.8" y="1508.4" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-61)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-62)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-62)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1532.8" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-62)">-upgrade</text><text class="breeze-testing-db-tests-r4" x="134.2" y="1532.8" textLeng [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-63)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-63)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1557.2" textLength="122" clip-path="url(#breeze-testing-db-tests-line-63)">-downgrade</text><text class="breeze-testing-db-tests-r4" x="158.6" y="1557.2" textLen [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-64)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-64)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1581.6" textLength="122" clip-path="url(#breeze-testing-db-tests-line-64)">-downgrade</text><text class="breeze-testing-db-tests-r4" x="158.6" y="1581.6" textLen [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1606" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-65)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1606" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-65)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1606" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-65)">-remove</text><text class="breeze-testing-db-tests-r4" x="122" y="1606" textLength="158.6"  [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-66)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-66)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1630.4" textLength="61" clip-path="url(#breeze-testing-db-tests-line-66)">-skip</text><text class="breeze-testing-db-tests-r4" x="97.6" y="1630.4" textLength="24 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1654.8" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-67)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-67)">
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1679.2" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-68)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="1679.2" textLength="195.2" clip-path="url(#breeze-testing-db-tests-line-68)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-db-tests-r5" x="219.6" y="1679.2" textLength="1220" clip-path="url(#breeze-testing-db-tests-line-68)">──────────────────────────────────────────────────── [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1703.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-69)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1703.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-69)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1703.6" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-69)">-verbose</text><text class="breeze-testing-db-tests-r7" x="158.6" y="1703.6" textLeng [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-70)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1728" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-70)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1728" textLength="48.8" clip-path="url(#breeze-testing-db-tests-line-70)">-dry</text><text class="breeze-testing-db-tests-r4" x="85.4" y="1728" textLength="48.8" cli [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-71)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-71)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1752.4" textLength="61" clip-path="url(#breeze-testing-db-tests-line-71)">-help</text><text class="breeze-testing-db-tests-r7" x="158.6" y="1752.4" textLength="2 [...]
-</text><text class="breeze-testing-db-tests-r5" x="0" y="1776.8" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-72)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-72)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-34)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-34)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="849.6" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-34)">-python</text><text class="breeze-testing-db-tests-r7" x="305" y="849.6" textLength="24. [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-35)">│</text><text class="breeze-testing-db-tests-r6" x="353.8" y="874" textLength="732" clip-path="url(#breeze-testing-db-tests-line-35)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;&#16 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-36)">│</text><text class="breeze-testing-db-tests-r5" x="353.8" y="898.4" textLength="732" clip-path="url(#breeze-testing-db-tests-line-36)">[default:&#160;3.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;& [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-37)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-37)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="922.8" textLength="109.8" clip-path="url(#breeze-testing-db-tests-line-37)">-postgres</text><text class="breeze-testing-db-tests-r4" x="146.4" y="922.8" textLength [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-38)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-38)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="947.2" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-38)">-mysql</text><text class="breeze-testing-db-tests-r4" x="109.8" y="947.2" textLength="97 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-39)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-39)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="971.6" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-39)">-forward</text><text class="breeze-testing-db-tests-r4" x="134.2" y="971.6" textLength=" [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="996" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-40)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1020.4" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-41)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="1020.4" textLength="439.2" clip-path="url(#breeze-testing-db-tests-line-41)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-db-tests-r5" x="463.6" y="1020.4" textLength="976" clip-path="url(#breeze-testing-db-tests-line-41)">────────────────── [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-42)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-42)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1044.8" textLength="146.4" clip-path="url(#breeze-testing-db-tests-line-42)">-parallelism</text><text class="breeze-testing-db-tests-r1" x="378.2" y="1044.8" tex [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-43)">│</text><text class="breeze-testing-db-tests-r6" x="378.2" y="1069.2" textLength="915" clip-path="url(#breeze-testing-db-tests-line-43)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-44)">│</text><text class="breeze-testing-db-tests-r5" x="378.2" y="1093.6" textLength="915" clip-path="url(#breeze-testing-db-tests-line-44)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-45)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-45)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1118" textLength="61" clip-path="url(#breeze-testing-db-tests-line-45)">-skip</text><text class="breeze-testing-db-tests-r4" x="97.6" y="1118" textLength="97.6" clip [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-46)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-46)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1142.4" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-46)">-debug</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1142.4" textLength [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-47)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-47)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1166.8" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-47)">-include</text><text class="breeze-testing-db-tests-r4" x="134.2" y="1166.8" textLeng [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1191.2" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-48)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-48)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1215.6" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-49)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="1215.6" textLength="402.6" clip-path="url(#breeze-testing-db-tests-line-49)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-db-tests-r5" x="427" y="1215.6" textLength="1012.6" clip-path="url(#breeze-testing-db-tests-line-49)">──────────────────── [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-50)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1240" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-50)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1240" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-50)">-image</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1240" textLength="48.8"  [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-51)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1264.4" textLength="963.8" clip-path="url(#breeze-testing-db-tests-line-51)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-52)">│</text><text class="breeze-testing-db-tests-r5" x="414.8" y="1288.8" textLength="963.8" clip-path="url(#breeze-testing-db-tests-line-52)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-53)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-53)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1313.2" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-53)">-github</text><text class="breeze-testing-db-tests-r4" x="122" y="1313.2" textLength= [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-54)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-54)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1337.6" textLength="48.8" clip-path="url(#breeze-testing-db-tests-line-54)">-use</text><text class="breeze-testing-db-tests-r4" x="85.4" y="1337.6" textLength="1 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-55)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1362" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-55)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-db-tests-r5" x="1451.8" y="13 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-56)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1386.4" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-56)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-db-tests-r5" x="1451.8" y="1386.4" textLength="12.2" clip-path="url(#b [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-57)">│</text><text class="breeze-testing-db-tests-r4" x="414.8" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-57)">-</text><text class="breeze-testing-db-tests-r4" x="427" y="1410.8" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-57)">-mount</text><text class="breeze-testing-db-tests-r4" x="500.2" y="1410.8" textLength [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-58)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1435.2" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-58)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#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="breeze-testing-db-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-59)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-59)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1459.6" textLength="73.2" clip-path="url(#breeze-testing-db-tests-line-59)">-mount</text><text class="breeze-testing-db-tests-r4" x="109.8" y="1459.6" textLength [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-60)">│</text><text class="breeze-testing-db-tests-r1" x="414.8" y="1484" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-60)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-61)">│</text><text class="breeze-testing-db-tests-r6" x="414.8" y="1508.4" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-61)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-62)">│</text><text class="breeze-testing-db-tests-r5" x="414.8" y="1532.8" textLength="1024.8" clip-path="url(#breeze-testing-db-tests-line-62)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-db-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-63)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-63)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1557.2" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-63)">-upgrade</text><text class="breeze-testing-db-tests-r4" x="134.2" y="1557.2" textLeng [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-64)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-64)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1581.6" textLength="122" clip-path="url(#breeze-testing-db-tests-line-64)">-downgrade</text><text class="breeze-testing-db-tests-r4" x="158.6" y="1581.6" textLen [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1606" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-65)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1606" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-65)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1606" textLength="122" clip-path="url(#breeze-testing-db-tests-line-65)">-downgrade</text><text class="breeze-testing-db-tests-r4" x="158.6" y="1606" textLength="109 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-66)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-66)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1630.4" textLength="85.4" clip-path="url(#breeze-testing-db-tests-line-66)">-remove</text><text class="breeze-testing-db-tests-r4" x="122" y="1630.4" textLength= [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-67)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-67)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1654.8" textLength="61" clip-path="url(#breeze-testing-db-tests-line-67)">-skip</text><text class="breeze-testing-db-tests-r4" x="97.6" y="1654.8" textLength="24 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1679.2" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-68)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1679.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-68)">
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1703.6" textLength="24.4" clip-path="url(#breeze-testing-db-tests-line-69)">╭─</text><text class="breeze-testing-db-tests-r5" x="24.4" y="1703.6" textLength="195.2" clip-path="url(#breeze-testing-db-tests-line-69)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-db-tests-r5" x="219.6" y="1703.6" textLength="1220" clip-path="url(#breeze-testing-db-tests-line-69)">──────────────────────────────────────────────────── [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-70)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1728" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-70)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1728" textLength="97.6" clip-path="url(#breeze-testing-db-tests-line-70)">-verbose</text><text class="breeze-testing-db-tests-r7" x="158.6" y="1728" textLength="24.4 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-71)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-71)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1752.4" textLength="48.8" clip-path="url(#breeze-testing-db-tests-line-71)">-dry</text><text class="breeze-testing-db-tests-r4" x="85.4" y="1752.4" textLength="4 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-72)">│</text><text class="breeze-testing-db-tests-r4" x="24.4" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-72)">-</text><text class="breeze-testing-db-tests-r4" x="36.6" y="1776.8" textLength="61" clip-path="url(#breeze-testing-db-tests-line-72)">-help</text><text class="breeze-testing-db-tests-r7" x="158.6" y="1776.8" textLength="2 [...]
+</text><text class="breeze-testing-db-tests-r5" x="0" y="1801.2" textLength="1464" clip-path="url(#breeze-testing-db-tests-line-73)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-db-tests-r1" x="1464" y="1801.2" textLength="12.2" clip-path="url(#breeze-testing-db-tests-line-73)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_db-tests.txt b/dev/breeze/doc/images/output_testing_db-tests.txt
index 4261903509..c5980e5128 100644
--- a/dev/breeze/doc/images/output_testing_db-tests.txt
+++ b/dev/breeze/doc/images/output_testing_db-tests.txt
@@ -1 +1 @@
-84a01e74d1bf3acee4870bbe41bbbae5
+60f0be71d0e15086b8afab814235b0f5
diff --git a/dev/breeze/doc/images/output_testing_docker-compose-tests.svg b/dev/breeze/doc/images/output_testing_docker-compose-tests.svg
index ee0fa7fbba..dde6e12967 100644
--- a/dev/breeze/doc/images/output_testing_docker-compose-tests.svg
+++ b/dev/breeze/doc/images/output_testing_docker-compose-tests.svg
@@ -131,7 +131,7 @@
 </text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-8)">│</text><text class="breeze-testing-docker-compose-tests-r7" x="463.6" y="215.2" textLength="963.8" clip-path="url(#breeze-testing-docker-compose-tests-line-8)">(TEXT)&#160;&#160;&#160;&#160;&#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="breeze-testing-docker-compose-tests-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-9)">│</text><text class="breeze-testing-docker-compose-tests-r5" x="463.6" y="239.6" textLength="963.8" clip-path="url(#breeze-testing-docker-compose-tests-line-9)">[default:&#160;latest]&#160;&#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="breeze-testing-docker-compose-tests-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-10)">│</text><text class="breeze-testing-docker-compose-tests-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-10)">-</text><text class="breeze-testing-docker-compose-tests-r4" x="36.6" y="264" textLength="85.4" clip-path="url(#breeze-testing-docker-compose-tests-line-10)">-python</text><text cl [...]
-</text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-11)">│</text><text class="breeze-testing-docker-compose-tests-r7" x="463.6" y="288.4" textLength="732" clip-path="url(#breeze-testing-docker-compose-tests-line-11)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-11)">│</text><text class="breeze-testing-docker-compose-tests-r7" x="463.6" y="288.4" textLength="732" clip-path="url(#breeze-testing-docker-compose-tests-line-11)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
 </text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-12)">│</text><text class="breeze-testing-docker-compose-tests-r5" x="463.6" y="312.8" textLength="732" clip-path="url(#breeze-testing-docker-compose-tests-line-12)">[default:&#160;3.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;& [...]
 </text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-13)">│</text><text class="breeze-testing-docker-compose-tests-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-13)">-</text><text class="breeze-testing-docker-compose-tests-r4" x="36.6" y="337.2" textLength="61" clip-path="url(#breeze-testing-docker-compose-tests-line-13)">-skip</text><text  [...]
 </text><text class="breeze-testing-docker-compose-tests-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-14)">│</text><text class="breeze-testing-docker-compose-tests-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-testing-docker-compose-tests-line-14)">-</text><text class="breeze-testing-docker-compose-tests-r4" x="36.6" y="361.6" textLength="85.4" clip-path="url(#breeze-testing-docker-compose-tests-line-14)">-github</text><t [...]
diff --git a/dev/breeze/doc/images/output_testing_docker-compose-tests.txt b/dev/breeze/doc/images/output_testing_docker-compose-tests.txt
index 9c1ea2f222..4261d7d7af 100644
--- a/dev/breeze/doc/images/output_testing_docker-compose-tests.txt
+++ b/dev/breeze/doc/images/output_testing_docker-compose-tests.txt
@@ -1 +1 @@
-fd154a058082fcfda12eb877a9a89338
+5b7689bb2cd766a1ba08b52fa70af9d1
diff --git a/dev/breeze/doc/images/output_testing_integration-tests.svg b/dev/breeze/doc/images/output_testing_integration-tests.svg
index 35beec897b..b6645f1196 100644
--- a/dev/breeze/doc/images/output_testing_integration-tests.svg
+++ b/dev/breeze/doc/images/output_testing_integration-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1074.8" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1099.2" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-integration-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1023.8" />
+      <rect x="0" y="0" width="1463.0" height="1048.2" />
     </clipPath>
     <clipPath id="breeze-testing-integration-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -168,9 +168,12 @@
 <clipPath id="breeze-testing-integration-tests-line-40">
     <rect x="0" y="977.5" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-integration-tests-line-41">
+    <rect x="0" y="1001.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="1072.8" rx="8"/><text class="breeze-testing-integration-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;integration-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1097.2" rx="8"/><text class="breeze-testing-integration-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;integration-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -202,26 +205,27 @@
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-19)">│</text><text class="breeze-testing-integration-tests-r1" x="353.8" y="483.6" textLength="1085.8" clip-path="url(#breeze-testing-integration-tests-line-19)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-20)">│</text><text class="breeze-testing-integration-tests-r6" x="353.8" y="508" textLength="1085.8" clip-path="url(#breeze-testing-integration-tests-line-20)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;none)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
 </text><text class="breeze-testing-integration-tests-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-21)">│</text><text class="breeze-testing-integration-tests-r5" x="353.8" y="532.4" textLength="1085.8" clip-path="url(#breeze-testing-integration-tests-line-21)">[default:&#160;sqlite]&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-22)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-22)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="556.8" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-22)">-python</text><text class="breeze- [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-23)">│</text><text class="breeze-testing-integration-tests-r5" x="353.8" y="581.2" textLength="732" clip-path="url(#breeze-testing-integration-tests-line-23)">[default:&#160;3.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;& [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-24)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-24)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="605.6" textLength="109.8" clip-path="url(#breeze-testing-integration-tests-line-24)">-postgres</text><text class="bree [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-25)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-25)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="630" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-25)">-mysql</text><text class="breeze-testing [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-26)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-26)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="654.4" textLength="97.6" clip-path="url(#breeze-testing-integration-tests-line-26)">-forward</text><text class="breeze [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-27)">
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="703.2" textLength="24.4" clip-path="url(#breeze-testing-integration-tests-line-28)">╭─</text><text class="breeze-testing-integration-tests-r5" x="24.4" y="703.2" textLength="549" clip-path="url(#breeze-testing-integration-tests-line-28)">&#160;Advanced&#160;flag&#160;for&#160;integration&#160;tests&#160;command&#160;</text><text class="breeze-testing-integration-tests-r5" x="573.4" y="703.2" textLength="866.2" clip-path="u [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-29)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-29)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="727.6" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-29)">-image</text><text class="breeze-t [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-30)">│</text><text class="breeze-testing-integration-tests-r5" x="329.4" y="752" textLength="963.8" clip-path="url(#breeze-testing-integration-tests-line-30)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-31)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-31)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="776.4" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-31)">-mount</text><text class="breeze-t [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-32)">│</text><text class="breeze-testing-integration-tests-r1" x="329.4" y="800.8" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-32)">selected).&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-33)">│</text><text class="breeze-testing-integration-tests-r6" x="329.4" y="825.2" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-33)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-34)">│</text><text class="breeze-testing-integration-tests-r5" x="329.4" y="849.6" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-34)">[default:&#160;selected]&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-35)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-35)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="874" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-35)">-github</text><text class="breeze-testin [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="898.4" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-36)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-36)">
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="922.8" textLength="24.4" clip-path="url(#breeze-testing-integration-tests-line-37)">╭─</text><text class="breeze-testing-integration-tests-r5" x="24.4" y="922.8" textLength="195.2" clip-path="url(#breeze-testing-integration-tests-line-37)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-integration-tests-r5" x="219.6" y="922.8" textLength="1220" clip-path="url(#breeze-testing-integration-tests-line-37)">─ [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-38)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-38)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="947.2" textLength="48.8" clip-path="url(#breeze-testing-integration-tests-line-38)">-dry</text><text class="breeze-tes [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-39)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-39)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="971.6" textLength="97.6" clip-path="url(#breeze-testing-integration-tests-line-39)">-verbose</text><text class="breeze [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-40)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-40)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="996" textLength="61" clip-path="url(#breeze-testing-integration-tests-line-40)">-help</text><text class="breeze-testing-in [...]
-</text><text class="breeze-testing-integration-tests-r5" x="0" y="1020.4" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-41)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-41)">
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-22)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-22)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="556.8" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-22)">-python</text><text class="breeze- [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-23)">│</text><text class="breeze-testing-integration-tests-r6" x="353.8" y="581.2" textLength="732" clip-path="url(#breeze-testing-integration-tests-line-23)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-24)">│</text><text class="breeze-testing-integration-tests-r5" x="353.8" y="605.6" textLength="732" clip-path="url(#breeze-testing-integration-tests-line-24)">[default:&#160;3.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;& [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-25)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-25)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="630" textLength="109.8" clip-path="url(#breeze-testing-integration-tests-line-25)">-postgres</text><text class="breeze-tes [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-26)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-26)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="654.4" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-26)">-mysql</text><text class="breeze-t [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-27)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-27)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="678.8" textLength="97.6" clip-path="url(#breeze-testing-integration-tests-line-27)">-forward</text><text class="breeze [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-28)">
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="727.6" textLength="24.4" clip-path="url(#breeze-testing-integration-tests-line-29)">╭─</text><text class="breeze-testing-integration-tests-r5" x="24.4" y="727.6" textLength="549" clip-path="url(#breeze-testing-integration-tests-line-29)">&#160;Advanced&#160;flag&#160;for&#160;integration&#160;tests&#160;command&#160;</text><text class="breeze-testing-integration-tests-r5" x="573.4" y="727.6" textLength="866.2" clip-path="u [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-30)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="752" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-30)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="752" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-30)">-image</text><text class="breeze-testing [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-31)">│</text><text class="breeze-testing-integration-tests-r5" x="329.4" y="776.4" textLength="963.8" clip-path="url(#breeze-testing-integration-tests-line-31)">[default:&#160;latest]&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-32)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-32)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="800.8" textLength="73.2" clip-path="url(#breeze-testing-integration-tests-line-32)">-mount</text><text class="breeze-t [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-33)">│</text><text class="breeze-testing-integration-tests-r1" x="329.4" y="825.2" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-33)">selected).&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-34)">│</text><text class="breeze-testing-integration-tests-r6" x="329.4" y="849.6" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-34)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-35)">│</text><text class="breeze-testing-integration-tests-r5" x="329.4" y="874" textLength="1110.2" clip-path="url(#breeze-testing-integration-tests-line-35)">[default:&#160;selected]&#160;&#160;&#160;&#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="breeze-testing-integration-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-36)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-36)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="898.4" textLength="85.4" clip-path="url(#breeze-testing-integration-tests-line-36)">-github</text><text class="breeze- [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="922.8" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-37)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-37)">
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="947.2" textLength="24.4" clip-path="url(#breeze-testing-integration-tests-line-38)">╭─</text><text class="breeze-testing-integration-tests-r5" x="24.4" y="947.2" textLength="195.2" clip-path="url(#breeze-testing-integration-tests-line-38)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-integration-tests-r5" x="219.6" y="947.2" textLength="1220" clip-path="url(#breeze-testing-integration-tests-line-38)">─ [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-39)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-39)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="971.6" textLength="48.8" clip-path="url(#breeze-testing-integration-tests-line-39)">-dry</text><text class="breeze-tes [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-40)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-40)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="996" textLength="97.6" clip-path="url(#breeze-testing-integration-tests-line-40)">-verbose</text><text class="breeze-testi [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-41)">│</text><text class="breeze-testing-integration-tests-r4" x="24.4" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-41)">-</text><text class="breeze-testing-integration-tests-r4" x="36.6" y="1020.4" textLength="61" clip-path="url(#breeze-testing-integration-tests-line-41)">-help</text><text class="breeze-t [...]
+</text><text class="breeze-testing-integration-tests-r5" x="0" y="1044.8" textLength="1464" clip-path="url(#breeze-testing-integration-tests-line-42)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-integration-tests-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-integration-tests-line-42)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_integration-tests.txt b/dev/breeze/doc/images/output_testing_integration-tests.txt
index 2270869eb9..215f7163da 100644
--- a/dev/breeze/doc/images/output_testing_integration-tests.txt
+++ b/dev/breeze/doc/images/output_testing_integration-tests.txt
@@ -1 +1 @@
-ae82cfad12e55c5f0f847234992d3877
+ad9510617d80ed6c047411ee7968483b
diff --git a/dev/breeze/doc/images/output_testing_non-db-tests.svg b/dev/breeze/doc/images/output_testing_non-db-tests.svg
index 3d64e0989c..ceaa02eecc 100644
--- a/dev/breeze/doc/images/output_testing_non-db-tests.svg
+++ b/dev/breeze/doc/images/output_testing_non-db-tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 1660.3999999999999" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 1684.8" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-non-db-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="1609.3999999999999" />
+      <rect x="0" y="0" width="1463.0" height="1633.8" />
     </clipPath>
     <clipPath id="breeze-testing-non-db-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -240,9 +240,12 @@
 <clipPath id="breeze-testing-non-db-tests-line-64">
     <rect x="0" y="1563.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-non-db-tests-line-65">
+    <rect x="0" y="1587.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="1658.4" rx="8"/><text class="breeze-testing-non-db-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;non-db-tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1682.8" rx="8"/><text class="breeze-testing-non-db-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;non-db-tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -281,43 +284,44 @@
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-26)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-26)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="654.4" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-26)">-skip</text><text class="breeze-testing-non-db-tests-r4" x="97.6"  [...]
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="678.8" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-27)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-27)">
 </text><text class="breeze-testing-non-db-tests-r5" x="0" y="703.2" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-28)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="703.2" textLength="219.6" clip-path="url(#breeze-testing-non-db-tests-line-28)">&#160;Test&#160;environment&#160;</text><text class="breeze-testing-non-db-tests-r5" x="244" y="703.2" textLength="1195.6" clip-path="url(#breeze-testing-non-db-tests-line-28)">───────────────────────────── [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-29)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-29)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="727.6" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-29)">-python</text><text class="breeze-testing-non-db-tests-r7" x="30 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-30)">│</text><text class="breeze-testing-non-db-tests-r5" x="353.8" y="752" textLength="732" clip-path="url(#breeze-testing-non-db-tests-line-30)">[default:&#160;3.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;& [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-31)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-31)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="776.4" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-31)">-forward</text><text class="breeze-testing-non-db-tests-r4" x="1 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="800.8" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-32)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-32)">
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="825.2" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-33)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="825.2" textLength="439.2" clip-path="url(#breeze-testing-non-db-tests-line-33)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-non-db-tests-r5" x="463.6" y="825.2" textLength="976" clip-path="url(#breeze-testing-non-db-tests-line-33 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-34)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="849.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-34)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="849.6" textLength="146.4" clip-path="url(#breeze-testing-non-db-tests-line-34)">-parallelism</text><text class="breeze-testing-non-db-tests-r1" [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-35)">│</text><text class="breeze-testing-non-db-tests-r6" x="378.2" y="874" textLength="915" clip-path="url(#breeze-testing-non-db-tests-line-35)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-36)">│</text><text class="breeze-testing-non-db-tests-r5" x="378.2" y="898.4" textLength="915" clip-path="url(#breeze-testing-non-db-tests-line-36)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-37)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-37)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="922.8" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-37)">-skip</text><text class="breeze-testing-non-db-tests-r4" x="97.6"  [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-38)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-38)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="947.2" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-38)">-debug</text><text class="breeze-testing-non-db-tests-r4" x="109 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-39)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-39)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="971.6" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-39)">-include</text><text class="breeze-testing-non-db-tests-r4" x="1 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="996" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-40)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="996" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-40)">
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1020.4" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-41)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="1020.4" textLength="402.6" clip-path="url(#breeze-testing-non-db-tests-line-41)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-non-db-tests-r5" x="427" y="1020.4" textLength="1012.6" clip-path="url(#breeze-testing-non-db-tests-line-4 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-42)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1044.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-42)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1044.8" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-42)">-image</text><text class="breeze-testing-non-db-tests-r4" x=" [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-43)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1069.2" textLength="963.8" clip-path="url(#breeze-testing-non-db-tests-line-43)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-44)">│</text><text class="breeze-testing-non-db-tests-r5" x="414.8" y="1093.6" textLength="963.8" clip-path="url(#breeze-testing-non-db-tests-line-44)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-45)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1118" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-45)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1118" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-45)">-github</text><text class="breeze-testing-non-db-tests-r4" x="122"  [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-46)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-46)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1142.4" textLength="48.8" clip-path="url(#breeze-testing-non-db-tests-line-46)">-use</text><text class="breeze-testing-non-db-tests-r4" x="85 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-47)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1166.8" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-47)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-non-db-te [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-48)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1191.2" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-48)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-non-db-tests-r5" x="1451.8" y="1191.2" textLength="12. [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-49)">│</text><text class="breeze-testing-non-db-tests-r4" x="414.8" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-49)">-</text><text class="breeze-testing-non-db-tests-r4" x="427" y="1215.6" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-49)">-mount</text><text class="breeze-testing-non-db-tests-r4" x=" [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-50)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1240" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-50)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#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="breeze-testing-non-db-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-51)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-51)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1264.4" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-51)">-mount</text><text class="breeze-testing-non-db-tests-r4" x=" [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-52)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1288.8" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-52)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-53)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1313.2" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-53)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#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="breeze-testing-non-db-tests-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-54)">│</text><text class="breeze-testing-non-db-tests-r5" x="414.8" y="1337.6" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-54)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-55)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1362" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-55)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1362" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-55)">-upgrade</text><text class="breeze-testing-non-db-tests-r4" x="134. [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-56)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-56)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1386.4" textLength="122" clip-path="url(#breeze-testing-non-db-tests-line-56)">-downgrade</text><text class="breeze-testing-non-db-tests-r4"  [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-57)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-57)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1410.8" textLength="122" clip-path="url(#breeze-testing-non-db-tests-line-57)">-downgrade</text><text class="breeze-testing-non-db-tests-r4"  [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-58)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-58)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1435.2" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-58)">-remove</text><text class="breeze-testing-non-db-tests-r4" x= [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-59)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-59)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1459.6" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-59)">-skip</text><text class="breeze-testing-non-db-tests-r4" x="97. [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1484" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-60)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="1484" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-60)">
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1508.4" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-61)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="1508.4" textLength="195.2" clip-path="url(#breeze-testing-non-db-tests-line-61)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-non-db-tests-r5" x="219.6" y="1508.4" textLength="1220" clip-path="url(#breeze-testing-non-db-tests-line-61)">──────────────────────────── [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-62)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-62)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1532.8" textLength="48.8" clip-path="url(#breeze-testing-non-db-tests-line-62)">-dry</text><text class="breeze-testing-non-db-tests-r4" x="85 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-63)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-63)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1557.2" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-63)">-verbose</text><text class="breeze-testing-non-db-tests-r7" x [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-64)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-64)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1581.6" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-64)">-help</text><text class="breeze-testing-non-db-tests-r7" x="158 [...]
-</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1606" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-65)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="1606" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-65)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-29)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="727.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-29)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="727.6" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-29)">-python</text><text class="breeze-testing-non-db-tests-r7" x="30 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-30)">│</text><text class="breeze-testing-non-db-tests-r6" x="353.8" y="752" textLength="732" clip-path="url(#breeze-testing-non-db-tests-line-30)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.12)&#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="breeze-testing-non-db-tests-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-31)">│</text><text class="breeze-testing-non-db-tests-r5" x="353.8" y="776.4" textLength="732" clip-path="url(#breeze-testing-non-db-tests-line-31)">[default:&#160;3.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;&#1 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-32)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="800.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-32)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="800.8" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-32)">-forward</text><text class="breeze-testing-non-db-tests-r4" x="1 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="825.2" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-33)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-33)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="849.6" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-34)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="849.6" textLength="439.2" clip-path="url(#breeze-testing-non-db-tests-line-34)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-non-db-tests-r5" x="463.6" y="849.6" textLength="976" clip-path="url(#breeze-testing-non-db-tests-line-34 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="874" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-35)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="874" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-35)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="874" textLength="146.4" clip-path="url(#breeze-testing-non-db-tests-line-35)">-parallelism</text><text class="breeze-testing-non-db-tests-r1" x="37 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-36)">│</text><text class="breeze-testing-non-db-tests-r6" x="378.2" y="898.4" textLength="915" clip-path="url(#breeze-testing-non-db-tests-line-36)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-37)">│</text><text class="breeze-testing-non-db-tests-r5" x="378.2" y="922.8" textLength="915" clip-path="url(#breeze-testing-non-db-tests-line-37)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-38)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="947.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-38)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="947.2" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-38)">-skip</text><text class="breeze-testing-non-db-tests-r4" x="97.6"  [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-39)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="971.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-39)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="971.6" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-39)">-debug</text><text class="breeze-testing-non-db-tests-r4" x="109 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-40)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="996" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-40)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="996" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-40)">-include</text><text class="breeze-testing-non-db-tests-r4" x="134.2"  [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1020.4" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-41)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-41)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1044.8" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-42)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="1044.8" textLength="402.6" clip-path="url(#breeze-testing-non-db-tests-line-42)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-non-db-tests-r5" x="427" y="1044.8" textLength="1012.6" clip-path="url(#breeze-testing-non-db-tests-line-4 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-43)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1069.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-43)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1069.2" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-43)">-image</text><text class="breeze-testing-non-db-tests-r4" x=" [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1093.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-44)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1093.6" textLength="963.8" clip-path="url(#breeze-testing-non-db-tests-line-44)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1118" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-45)">│</text><text class="breeze-testing-non-db-tests-r5" x="414.8" y="1118" textLength="963.8" clip-path="url(#breeze-testing-non-db-tests-line-45)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-46)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-46)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1142.4" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-46)">-github</text><text class="breeze-testing-non-db-tests-r4" x= [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-47)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-47)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1166.8" textLength="48.8" clip-path="url(#breeze-testing-non-db-tests-line-47)">-use</text><text class="breeze-testing-non-db-tests-r4" x="85 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-48)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1191.2" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-48)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-non-db-te [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-49)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1215.6" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-49)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-non-db-tests-r5" x="1451.8" y="1215.6" textLength="12. [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-50)">│</text><text class="breeze-testing-non-db-tests-r4" x="414.8" y="1240" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-50)">-</text><text class="breeze-testing-non-db-tests-r4" x="427" y="1240" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-50)">-mount</text><text class="breeze-testing-non-db-tests-r4" x="500.2" [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-51)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1264.4" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-51)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-52)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-52)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1288.8" textLength="73.2" clip-path="url(#breeze-testing-non-db-tests-line-52)">-mount</text><text class="breeze-testing-non-db-tests-r4" x=" [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-53)">│</text><text class="breeze-testing-non-db-tests-r1" x="414.8" y="1313.2" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-53)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-54)">│</text><text class="breeze-testing-non-db-tests-r6" x="414.8" y="1337.6" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-54)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#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="breeze-testing-non-db-tests-r5" x="0" y="1362" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-55)">│</text><text class="breeze-testing-non-db-tests-r5" x="414.8" y="1362" textLength="1024.8" clip-path="url(#breeze-testing-non-db-tests-line-55)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-non-db-tests-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-56)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-56)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1386.4" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-56)">-upgrade</text><text class="breeze-testing-non-db-tests-r4" x [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-57)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-57)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1410.8" textLength="122" clip-path="url(#breeze-testing-non-db-tests-line-57)">-downgrade</text><text class="breeze-testing-non-db-tests-r4"  [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-58)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-58)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1435.2" textLength="122" clip-path="url(#breeze-testing-non-db-tests-line-58)">-downgrade</text><text class="breeze-testing-non-db-tests-r4"  [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-59)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-59)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1459.6" textLength="85.4" clip-path="url(#breeze-testing-non-db-tests-line-59)">-remove</text><text class="breeze-testing-non-db-tests-r4" x= [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-60)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1484" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-60)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1484" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-60)">-skip</text><text class="breeze-testing-non-db-tests-r4" x="97.6" y=" [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1508.4" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-61)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-61)">
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1532.8" textLength="24.4" clip-path="url(#breeze-testing-non-db-tests-line-62)">╭─</text><text class="breeze-testing-non-db-tests-r5" x="24.4" y="1532.8" textLength="195.2" clip-path="url(#breeze-testing-non-db-tests-line-62)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-non-db-tests-r5" x="219.6" y="1532.8" textLength="1220" clip-path="url(#breeze-testing-non-db-tests-line-62)">──────────────────────────── [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-63)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-63)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1557.2" textLength="48.8" clip-path="url(#breeze-testing-non-db-tests-line-63)">-dry</text><text class="breeze-testing-non-db-tests-r4" x="85 [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-64)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-64)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1581.6" textLength="97.6" clip-path="url(#breeze-testing-non-db-tests-line-64)">-verbose</text><text class="breeze-testing-non-db-tests-r7" x [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1606" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-65)">│</text><text class="breeze-testing-non-db-tests-r4" x="24.4" y="1606" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-65)">-</text><text class="breeze-testing-non-db-tests-r4" x="36.6" y="1606" textLength="61" clip-path="url(#breeze-testing-non-db-tests-line-65)">-help</text><text class="breeze-testing-non-db-tests-r7" x="158.6" y= [...]
+</text><text class="breeze-testing-non-db-tests-r5" x="0" y="1630.4" textLength="1464" clip-path="url(#breeze-testing-non-db-tests-line-66)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-non-db-tests-r1" x="1464" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-non-db-tests-line-66)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_non-db-tests.txt b/dev/breeze/doc/images/output_testing_non-db-tests.txt
index 7d9ef31069..7916a46052 100644
--- a/dev/breeze/doc/images/output_testing_non-db-tests.txt
+++ b/dev/breeze/doc/images/output_testing_non-db-tests.txt
@@ -1 +1 @@
-8aa7803c0bbff622175c01d94d22290b
+0180d5f7ce41cf3b14ce5ec086e27bd7
diff --git a/dev/breeze/doc/images/output_testing_tests.svg b/dev/breeze/doc/images/output_testing_tests.svg
index ff52a515a7..6ff11c1d36 100644
--- a/dev/breeze/doc/images/output_testing_tests.svg
+++ b/dev/breeze/doc/images/output_testing_tests.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 2246.0" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 2270.4" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -43,7 +43,7 @@
 
     <defs>
     <clipPath id="breeze-testing-tests-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="2195.0" />
+      <rect x="0" y="0" width="1463.0" height="2219.4" />
     </clipPath>
     <clipPath id="breeze-testing-tests-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -312,9 +312,12 @@
 <clipPath id="breeze-testing-tests-line-88">
     <rect x="0" y="2148.7" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-testing-tests-line-89">
+    <rect x="0" y="2173.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="2244" rx="8"/><text class="breeze-testing-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;tests</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="2268.4" rx="8"/><text class="breeze-testing-tests-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;testing&#160;tests</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -373,47 +376,48 @@
 </text><text class="breeze-testing-tests-r5" x="0" y="1142.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-46)">│</text><text class="breeze-testing-tests-r1" x="353.8" y="1142.4" textLength="1085.8" clip-path="url(#breeze-testing-tests-line-46)">configuration&#160;and&#160;no&#160;database&#160;and&#160;any&#160;attempts&#160;to&#160;connect&#160;to&#160;Airflow&#160;DB&#160;will&#160;fail.&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-testing-tests-r [...]
 </text><text class="breeze-testing-tests-r5" x="0" y="1166.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-47)">│</text><text class="breeze-testing-tests-r7" x="353.8" y="1166.8" textLength="1085.8" clip-path="url(#breeze-testing-tests-line-47)">(&gt;sqlite&lt;&#160;|&#160;mysql&#160;|&#160;postgres&#160;|&#160;none)&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1191.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-48)">│</text><text class="breeze-testing-tests-r5" x="353.8" y="1191.2" textLength="1085.8" clip-path="url(#breeze-testing-tests-line-48)">[default:&#160;sqlite]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-49)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-49)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1215.6" textLength="85.4" clip-path="url(#breeze-testing-tests-line-49)">-python</text><text class="breeze-testing-tests-r6" x="305" y="1215.6" textLength="24.4" clip-path="url [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-tests-line-50)">│</text><text class="breeze-testing-tests-r5" x="353.8" y="1240" textLength="732" clip-path="url(#breeze-testing-tests-line-50)">[default:&#160;3.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;&#1 [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-51)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-51)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1264.4" textLength="109.8" clip-path="url(#breeze-testing-tests-line-51)">-postgres</text><text class="breeze-testing-tests-r4" x="146.4" y="1264.4" textLength="97.6" clip-path [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-52)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-52)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1288.8" textLength="73.2" clip-path="url(#breeze-testing-tests-line-52)">-mysql</text><text class="breeze-testing-tests-r4" x="109.8" y="1288.8" textLength="97.6" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-53)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-53)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1313.2" textLength="97.6" clip-path="url(#breeze-testing-tests-line-53)">-forward</text><text class="breeze-testing-tests-r4" x="134.2" y="1313.2" textLength="146.4" clip-path= [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1337.6" textLength="1464" clip-path="url(#breeze-testing-tests-line-54)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-54)">
-</text><text class="breeze-testing-tests-r5" x="0" y="1362" textLength="24.4" clip-path="url(#breeze-testing-tests-line-55)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="1362" textLength="439.2" clip-path="url(#breeze-testing-tests-line-55)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-tests-r5" x="463.6" y="1362" textLength="976" clip-path="url(#breeze-testing-tests-line-55)">────────────────────────────────────────── [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-56)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1386.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-56)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1386.4" textLength="48.8" clip-path="url(#breeze-testing-tests-line-56)">-run</text><text class="breeze-testing-tests-r4" x="85.4" y="1386.4" textLength="146.4" clip-path="url( [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-57)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-57)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1410.8" textLength="48.8" clip-path="url(#breeze-testing-tests-line-57)">-use</text><text class="breeze-testing-tests-r4" x="85.4" y="1410.8" textLength="73.2" clip-path="url(# [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-58)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-58)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1435.2" textLength="146.4" clip-path="url(#breeze-testing-tests-line-58)">-parallelism</text><text class="breeze-testing-tests-r1" x="378.2" y="1435.2" textLength="915" clip-pa [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-59)">│</text><text class="breeze-testing-tests-r7" x="378.2" y="1459.6" textLength="915" clip-path="url(#breeze-testing-tests-line-59)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-testing-tests-line-60)">│</text><text class="breeze-testing-tests-r5" x="378.2" y="1484" textLength="915" clip-path="url(#breeze-testing-tests-line-60)">[default:&#160;4;&#160;1&lt;=x&lt;=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;&#1 [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-61)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-61)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1508.4" textLength="61" clip-path="url(#breeze-testing-tests-line-61)">-skip</text><text class="breeze-testing-tests-r4" x="97.6" y="1508.4" textLength="97.6" clip-path="url(#b [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-62)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-62)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1532.8" textLength="73.2" clip-path="url(#breeze-testing-tests-line-62)">-debug</text><text class="breeze-testing-tests-r4" x="109.8" y="1532.8" textLength="122" clip-path="url [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-63)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-63)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1557.2" textLength="97.6" clip-path="url(#breeze-testing-tests-line-63)">-include</text><text class="breeze-testing-tests-r4" x="134.2" y="1557.2" textLength="195.2" clip-path= [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1581.6" textLength="1464" clip-path="url(#breeze-testing-tests-line-64)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-64)">
-</text><text class="breeze-testing-tests-r5" x="0" y="1606" textLength="24.4" clip-path="url(#breeze-testing-tests-line-65)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="1606" textLength="402.6" clip-path="url(#breeze-testing-tests-line-65)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-tests-r5" x="427" y="1606" textLength="1012.6" clip-path="url(#breeze-testing-tests-line-65)">──────────────────────────────────────────── [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-66)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1630.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-66)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1630.4" textLength="73.2" clip-path="url(#breeze-testing-tests-line-66)">-image</text><text class="breeze-testing-tests-r4" x="109.8" y="1630.4" textLength="48.8" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-67)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1654.8" textLength="963.8" clip-path="url(#breeze-testing-tests-line-67)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1679.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-68)">│</text><text class="breeze-testing-tests-r5" x="414.8" y="1679.2" textLength="963.8" clip-path="url(#breeze-testing-tests-line-68)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1703.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-69)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1703.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-69)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1703.6" textLength="85.4" clip-path="url(#breeze-testing-tests-line-69)">-github</text><text class="breeze-testing-tests-r4" x="122" y="1703.6" textLength="134.2" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-testing-tests-line-70)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1728" textLength="12.2" clip-path="url(#breeze-testing-tests-line-70)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1728" textLength="48.8" clip-path="url(#breeze-testing-tests-line-70)">-use</text><text class="breeze-testing-tests-r4" x="85.4" y="1728" textLength="195.2" clip-path="url(#breeze- [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-71)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1752.4" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-71)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-tests-r5" x="1451.8" y="1752.4" textL [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-72)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1776.8" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-72)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-tests-r5" x="1451.8" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-t [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1801.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-73)">│</text><text class="breeze-testing-tests-r4" x="414.8" y="1801.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-73)">-</text><text class="breeze-testing-tests-r4" x="427" y="1801.2" textLength="73.2" clip-path="url(#breeze-testing-tests-line-73)">-mount</text><text class="breeze-testing-tests-r4" x="500.2" y="1801.2" textLength="97.6" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1825.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-74)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1825.6" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-74)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#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="breeze-testing-tests-r5" x="0" y="1850" textLength="12.2" clip-path="url(#breeze-testing-tests-line-75)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1850" textLength="12.2" clip-path="url(#breeze-testing-tests-line-75)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1850" textLength="73.2" clip-path="url(#breeze-testing-tests-line-75)">-mount</text><text class="breeze-testing-tests-r4" x="109.8" y="1850" textLength="97.6" clip-path="url(#breez [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1874.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-76)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1874.4" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-76)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1898.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-77)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1898.8" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-77)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1923.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-78)">│</text><text class="breeze-testing-tests-r5" x="414.8" y="1923.2" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-78)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1947.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-79)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1947.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-79)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1947.6" textLength="97.6" clip-path="url(#breeze-testing-tests-line-79)">-upgrade</text><text class="breeze-testing-tests-r4" x="134.2" y="1947.6" textLength="61" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1972" textLength="12.2" clip-path="url(#breeze-testing-tests-line-80)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1972" textLength="12.2" clip-path="url(#breeze-testing-tests-line-80)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1972" textLength="122" clip-path="url(#breeze-testing-tests-line-80)">-downgrade</text><text class="breeze-testing-tests-r4" x="158.6" y="1972" textLength="134.2" clip-path="url(#b [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="1996.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-81)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1996.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-81)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1996.4" textLength="122" clip-path="url(#breeze-testing-tests-line-81)">-downgrade</text><text class="breeze-testing-tests-r4" x="158.6" y="1996.4" textLength="109.8" clip-path [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2020.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-82)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2020.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-82)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2020.8" textLength="85.4" clip-path="url(#breeze-testing-tests-line-82)">-remove</text><text class="breeze-testing-tests-r4" x="122" y="2020.8" textLength="158.6" clip-path="ur [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2045.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-83)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2045.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-83)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2045.2" textLength="61" clip-path="url(#breeze-testing-tests-line-83)">-skip</text><text class="breeze-testing-tests-r4" x="97.6" y="2045.2" textLength="244" clip-path="url(#br [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2069.6" textLength="1464" clip-path="url(#breeze-testing-tests-line-84)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="2069.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-84)">
-</text><text class="breeze-testing-tests-r5" x="0" y="2094" textLength="24.4" clip-path="url(#breeze-testing-tests-line-85)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="2094" textLength="195.2" clip-path="url(#breeze-testing-tests-line-85)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-tests-r5" x="219.6" y="2094" textLength="1220" clip-path="url(#breeze-testing-tests-line-85)">──────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2118.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-86)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2118.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-86)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2118.4" textLength="97.6" clip-path="url(#breeze-testing-tests-line-86)">-verbose</text><text class="breeze-testing-tests-r6" x="158.6" y="2118.4" textLength="24.4" clip-path=" [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2142.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-87)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2142.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-87)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2142.8" textLength="48.8" clip-path="url(#breeze-testing-tests-line-87)">-dry</text><text class="breeze-testing-tests-r4" x="85.4" y="2142.8" textLength="48.8" clip-path="url(# [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2167.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-88)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2167.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-88)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2167.2" textLength="61" clip-path="url(#breeze-testing-tests-line-88)">-help</text><text class="breeze-testing-tests-r6" x="158.6" y="2167.2" textLength="24.4" clip-path="url(# [...]
-</text><text class="breeze-testing-tests-r5" x="0" y="2191.6" textLength="1464" clip-path="url(#breeze-testing-tests-line-89)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="2191.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-89)">
+</text><text class="breeze-testing-tests-r5" x="0" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-49)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1215.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-49)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1215.6" textLength="85.4" clip-path="url(#breeze-testing-tests-line-49)">-python</text><text class="breeze-testing-tests-r6" x="305" y="1215.6" textLength="24.4" clip-path="url [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1240" textLength="12.2" clip-path="url(#breeze-testing-tests-line-50)">│</text><text class="breeze-testing-tests-r7" x="353.8" y="1240" textLength="732" clip-path="url(#breeze-testing-tests-line-50)">(&gt;3.8&lt;&#160;|&#160;3.9&#160;|&#160;3.10&#160;|&#160;3.11&#160;|&#160;3.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;</ [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1264.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-51)">│</text><text class="breeze-testing-tests-r5" x="353.8" y="1264.4" textLength="732" clip-path="url(#breeze-testing-tests-line-51)">[default:&#160;3.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 [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-52)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1288.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-52)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1288.8" textLength="109.8" clip-path="url(#breeze-testing-tests-line-52)">-postgres</text><text class="breeze-testing-tests-r4" x="146.4" y="1288.8" textLength="97.6" clip-path [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-53)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1313.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-53)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1313.2" textLength="73.2" clip-path="url(#breeze-testing-tests-line-53)">-mysql</text><text class="breeze-testing-tests-r4" x="109.8" y="1313.2" textLength="97.6" clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-54)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1337.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-54)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1337.6" textLength="97.6" clip-path="url(#breeze-testing-tests-line-54)">-forward</text><text class="breeze-testing-tests-r4" x="134.2" y="1337.6" textLength="146.4" clip-path= [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1362" textLength="1464" clip-path="url(#breeze-testing-tests-line-55)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="1362" textLength="12.2" clip-path="url(#breeze-testing-tests-line-55)">
+</text><text class="breeze-testing-tests-r5" x="0" y="1386.4" textLength="24.4" clip-path="url(#breeze-testing-tests-line-56)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="1386.4" textLength="439.2" clip-path="url(#breeze-testing-tests-line-56)">&#160;Options&#160;for&#160;parallel&#160;test&#160;commands&#160;</text><text class="breeze-testing-tests-r5" x="463.6" y="1386.4" textLength="976" clip-path="url(#breeze-testing-tests-line-56)">──────────────────────────────────── [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-57)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1410.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-57)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1410.8" textLength="48.8" clip-path="url(#breeze-testing-tests-line-57)">-run</text><text class="breeze-testing-tests-r4" x="85.4" y="1410.8" textLength="146.4" clip-path="url( [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-58)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1435.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-58)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1435.2" textLength="48.8" clip-path="url(#breeze-testing-tests-line-58)">-use</text><text class="breeze-testing-tests-r4" x="85.4" y="1435.2" textLength="73.2" clip-path="url(# [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-59)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1459.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-59)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1459.6" textLength="146.4" clip-path="url(#breeze-testing-tests-line-59)">-parallelism</text><text class="breeze-testing-tests-r1" x="378.2" y="1459.6" textLength="915" clip-pa [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1484" textLength="12.2" clip-path="url(#breeze-testing-tests-line-60)">│</text><text class="breeze-testing-tests-r7" x="378.2" y="1484" textLength="915" clip-path="url(#breeze-testing-tests-line-60)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1508.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-61)">│</text><text class="breeze-testing-tests-r5" x="378.2" y="1508.4" textLength="915" clip-path="url(#breeze-testing-tests-line-61)">[default:&#160;4;&#160;1&lt;=x&lt;=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 [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-62)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1532.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-62)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1532.8" textLength="61" clip-path="url(#breeze-testing-tests-line-62)">-skip</text><text class="breeze-testing-tests-r4" x="97.6" y="1532.8" textLength="97.6" clip-path="url(#b [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-63)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1557.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-63)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1557.2" textLength="73.2" clip-path="url(#breeze-testing-tests-line-63)">-debug</text><text class="breeze-testing-tests-r4" x="109.8" y="1557.2" textLength="122" clip-path="url [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-64)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1581.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-64)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1581.6" textLength="97.6" clip-path="url(#breeze-testing-tests-line-64)">-include</text><text class="breeze-testing-tests-r4" x="134.2" y="1581.6" textLength="195.2" clip-path= [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1606" textLength="1464" clip-path="url(#breeze-testing-tests-line-65)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="1606" textLength="12.2" clip-path="url(#breeze-testing-tests-line-65)">
+</text><text class="breeze-testing-tests-r5" x="0" y="1630.4" textLength="24.4" clip-path="url(#breeze-testing-tests-line-66)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="1630.4" textLength="402.6" clip-path="url(#breeze-testing-tests-line-66)">&#160;Advanced&#160;flag&#160;for&#160;tests&#160;command&#160;</text><text class="breeze-testing-tests-r5" x="427" y="1630.4" textLength="1012.6" clip-path="url(#breeze-testing-tests-line-66)">────────────────────────────────────── [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-67)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1654.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-67)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1654.8" textLength="73.2" clip-path="url(#breeze-testing-tests-line-67)">-image</text><text class="breeze-testing-tests-r4" x="109.8" y="1654.8" textLength="48.8" clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1679.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-68)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1679.2" textLength="963.8" clip-path="url(#breeze-testing-tests-line-68)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1703.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-69)">│</text><text class="breeze-testing-tests-r5" x="414.8" y="1703.6" textLength="963.8" clip-path="url(#breeze-testing-tests-line-69)">[default:&#160;latest]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1728" textLength="12.2" clip-path="url(#breeze-testing-tests-line-70)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1728" textLength="12.2" clip-path="url(#breeze-testing-tests-line-70)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1728" textLength="85.4" clip-path="url(#breeze-testing-tests-line-70)">-github</text><text class="breeze-testing-tests-r4" x="122" y="1728" textLength="134.2" clip-path="url(#breez [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-71)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1752.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-71)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1752.4" textLength="48.8" clip-path="url(#breeze-testing-tests-line-71)">-use</text><text class="breeze-testing-tests-r4" x="85.4" y="1752.4" textLength="195.2" clip-path="url( [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1776.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-72)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1776.8" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-72)">install&#160;from&#160;PyPI),&#160;`none`,&#160;`wheel`,&#160;or&#160;`sdist`&#160;to&#160;install&#160;from&#160;`dist`&#160;folder,&#160;or&#160;&#160;&#160;</text><text class="breeze-testing-tests-r5" x="1451.8" y="1776.8" textL [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1801.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-73)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1801.2" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-73)">VCS&#160;URL&#160;to&#160;install&#160;from&#160;(https://pip.pypa.io/en/stable/topics/vcs-support/).&#160;Implies</text><text class="breeze-testing-tests-r5" x="1451.8" y="1801.2" textLength="12.2" clip-path="url(#breeze-testing-t [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1825.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-74)">│</text><text class="breeze-testing-tests-r4" x="414.8" y="1825.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-74)">-</text><text class="breeze-testing-tests-r4" x="427" y="1825.6" textLength="73.2" clip-path="url(#breeze-testing-tests-line-74)">-mount</text><text class="breeze-testing-tests-r4" x="500.2" y="1825.6" textLength="97.6" clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1850" textLength="12.2" clip-path="url(#breeze-testing-tests-line-75)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1850" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-75)">(none&#160;|&#160;wheel&#160;|&#160;sdist&#160;|&#160;&lt;airflow_version&gt;)&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1874.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-76)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1874.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-76)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1874.4" textLength="73.2" clip-path="url(#breeze-testing-tests-line-76)">-mount</text><text class="breeze-testing-tests-r4" x="109.8" y="1874.4" textLength="97.6" clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1898.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-77)">│</text><text class="breeze-testing-tests-r1" x="414.8" y="1898.8" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-77)">selected).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1923.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-78)">│</text><text class="breeze-testing-tests-r7" x="414.8" y="1923.2" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-78)">(selected&#160;|&#160;all&#160;|&#160;skip&#160;|&#160;remove)&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1947.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-79)">│</text><text class="breeze-testing-tests-r5" x="414.8" y="1947.6" textLength="1024.8" clip-path="url(#breeze-testing-tests-line-79)">[default:&#160;selected]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#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="breeze-testing-tests-r5" x="0" y="1972" textLength="12.2" clip-path="url(#breeze-testing-tests-line-80)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1972" textLength="12.2" clip-path="url(#breeze-testing-tests-line-80)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1972" textLength="97.6" clip-path="url(#breeze-testing-tests-line-80)">-upgrade</text><text class="breeze-testing-tests-r4" x="134.2" y="1972" textLength="61" clip-path="url(#breez [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="1996.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-81)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="1996.4" textLength="12.2" clip-path="url(#breeze-testing-tests-line-81)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="1996.4" textLength="122" clip-path="url(#breeze-testing-tests-line-81)">-downgrade</text><text class="breeze-testing-tests-r4" x="158.6" y="1996.4" textLength="134.2" clip-path [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2020.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-82)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2020.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-82)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2020.8" textLength="122" clip-path="url(#breeze-testing-tests-line-82)">-downgrade</text><text class="breeze-testing-tests-r4" x="158.6" y="2020.8" textLength="109.8" clip-path [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2045.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-83)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2045.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-83)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2045.2" textLength="85.4" clip-path="url(#breeze-testing-tests-line-83)">-remove</text><text class="breeze-testing-tests-r4" x="122" y="2045.2" textLength="158.6" clip-path="ur [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2069.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-84)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2069.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-84)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2069.6" textLength="61" clip-path="url(#breeze-testing-tests-line-84)">-skip</text><text class="breeze-testing-tests-r4" x="97.6" y="2069.6" textLength="244" clip-path="url(#br [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2094" textLength="1464" clip-path="url(#breeze-testing-tests-line-85)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="2094" textLength="12.2" clip-path="url(#breeze-testing-tests-line-85)">
+</text><text class="breeze-testing-tests-r5" x="0" y="2118.4" textLength="24.4" clip-path="url(#breeze-testing-tests-line-86)">╭─</text><text class="breeze-testing-tests-r5" x="24.4" y="2118.4" textLength="195.2" clip-path="url(#breeze-testing-tests-line-86)">&#160;Common&#160;options&#160;</text><text class="breeze-testing-tests-r5" x="219.6" y="2118.4" textLength="1220" clip-path="url(#breeze-testing-tests-line-86)">────────────────────────────────────────────────────────────────────── [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2142.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-87)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2142.8" textLength="12.2" clip-path="url(#breeze-testing-tests-line-87)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2142.8" textLength="97.6" clip-path="url(#breeze-testing-tests-line-87)">-verbose</text><text class="breeze-testing-tests-r6" x="158.6" y="2142.8" textLength="24.4" clip-path=" [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2167.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-88)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2167.2" textLength="12.2" clip-path="url(#breeze-testing-tests-line-88)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2167.2" textLength="48.8" clip-path="url(#breeze-testing-tests-line-88)">-dry</text><text class="breeze-testing-tests-r4" x="85.4" y="2167.2" textLength="48.8" clip-path="url(# [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2191.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-89)">│</text><text class="breeze-testing-tests-r4" x="24.4" y="2191.6" textLength="12.2" clip-path="url(#breeze-testing-tests-line-89)">-</text><text class="breeze-testing-tests-r4" x="36.6" y="2191.6" textLength="61" clip-path="url(#breeze-testing-tests-line-89)">-help</text><text class="breeze-testing-tests-r6" x="158.6" y="2191.6" textLength="24.4" clip-path="url(# [...]
+</text><text class="breeze-testing-tests-r5" x="0" y="2216" textLength="1464" clip-path="url(#breeze-testing-tests-line-90)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-testing-tests-r1" x="1464" y="2216" textLength="12.2" clip-path="url(#breeze-testing-tests-line-90)">
 </text>
     </g>
     </g>
diff --git a/dev/breeze/doc/images/output_testing_tests.txt b/dev/breeze/doc/images/output_testing_tests.txt
index 0b631fb981..95adc3a4db 100644
--- a/dev/breeze/doc/images/output_testing_tests.txt
+++ b/dev/breeze/doc/images/output_testing_tests.txt
@@ -1 +1 @@
-ebfb809a4ef0e366f21b39495a20c7dd
+b2a0ef32d45aaa40f0192208b7b8a8f6
diff --git a/dev/breeze/pyproject.toml b/dev/breeze/pyproject.toml
index 214f5e6478..7b14a6558d 100644
--- a/dev/breeze/pyproject.toml
+++ b/dev/breeze/pyproject.toml
@@ -80,7 +80,7 @@ name = "airflow_breeze"
 
 [tool.black]
 line-length = 110
-target-version = ['py37', 'py38', 'py39', 'py310']
+target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312']
 
 [tool.pytest.ini_options]
 addopts = "-rasl --verbosity=2 -p no:flaky -p no:nose -p no:legacypath"
diff --git a/dev/breeze/src/airflow_breeze/global_constants.py b/dev/breeze/src/airflow_breeze/global_constants.py
index 2ccd3bb0dd..185b6f2960 100644
--- a/dev/breeze/src/airflow_breeze/global_constants.py
+++ b/dev/breeze/src/airflow_breeze/global_constants.py
@@ -42,7 +42,7 @@ ANSWER = ""
 APACHE_AIRFLOW_GITHUB_REPOSITORY = "apache/airflow"
 
 # Checked before putting in build cache
-ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS = ["3.8", "3.9", "3.10", "3.11"]
+ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
 DEFAULT_PYTHON_MAJOR_MINOR_VERSION = ALLOWED_PYTHON_MAJOR_MINOR_VERSIONS[0]
 ALLOWED_ARCHITECTURES = [Architecture.X86_64, Architecture.ARM]
 # Database Backends used when starting Breeze. The "none" value means that invalid configuration
@@ -193,7 +193,7 @@ ALLOWED_PLATFORMS = [*SINGLE_PLATFORMS, MULTI_PLATFORM]
 ALLOWED_USE_AIRFLOW_VERSIONS = ["none", "wheel", "sdist"]
 
 
-ALL_HISTORICAL_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"]
+ALL_HISTORICAL_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
 
 
 def get_default_platform_machine() -> str:
@@ -219,7 +219,7 @@ SQLITE_URL = "sqlite:////root/airflow/sqlite/airflow.db"
 PYTHONDONTWRITEBYTECODE = True
 
 PRODUCTION_IMAGE = False
-ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["3.8", "3.9", "3.10", "3.11"]
+ALL_PYTHON_MAJOR_MINOR_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
 CURRENT_PYTHON_MAJOR_MINOR_VERSIONS = ALL_PYTHON_MAJOR_MINOR_VERSIONS
 CURRENT_POSTGRES_VERSIONS = ["12", "13", "14", "15", "16"]
 DEFAULT_POSTGRES_VERSION = CURRENT_POSTGRES_VERSIONS[0]
@@ -267,6 +267,7 @@ AIRFLOW_PYTHON_COMPATIBILITY_MATRIX = {
     "2.7.1": ["3.8", "3.9", "3.10", "3.11"],
     "2.7.2": ["3.8", "3.9", "3.10", "3.11"],
     "2.7.3": ["3.8", "3.9", "3.10", "3.11"],
+    "2.8.0": ["3.8", "3.9", "3.10", "3.11"],
 }
 
 DB_RESET = False
diff --git a/dev/breeze/src/airflow_breeze/utils/cdxgen.py b/dev/breeze/src/airflow_breeze/utils/cdxgen.py
index 3bcb4cd21f..2f31a5fe07 100644
--- a/dev/breeze/src/airflow_breeze/utils/cdxgen.py
+++ b/dev/breeze/src/airflow_breeze/utils/cdxgen.py
@@ -282,6 +282,7 @@ def build_all_airflow_versions_base_image(
         "3.9": "e698dbfe25da10d09c5810938f586535633928a4",
         "3.10": "e698dbfe25da10d09c5810938f586535633928a4",
         "3.11": "e698dbfe25da10d09c5810938f586535633928a4",
+        "3.12": "e698dbfe25da10d09c5810938f586535633928a4",
     }
     """
     image_name = get_all_airflow_versions_image_name(python_version=python_version)
diff --git a/dev/breeze/tests/test_cache.py b/dev/breeze/tests/test_cache.py
index 7032a21593..52ba6ada1e 100644
--- a/dev/breeze/tests/test_cache.py
+++ b/dev/breeze/tests/test_cache.py
@@ -36,8 +36,8 @@ AIRFLOW_SOURCES = Path(__file__).parents[3].resolve()
     [
         ("backend", "mysql", (True, ["sqlite", "mysql", "postgres", "none"]), None),
         ("backend", "xxx", (False, ["sqlite", "mysql", "postgres", "none"]), None),
-        ("python_major_minor_version", "3.8", (True, ["3.8", "3.9", "3.10", "3.11"]), None),
-        ("python_major_minor_version", "3.7", (False, ["3.8", "3.9", "3.10", "3.11"]), None),
+        ("python_major_minor_version", "3.8", (True, ["3.8", "3.9", "3.10", "3.11", "3.12"]), None),
+        ("python_major_minor_version", "3.7", (False, ["3.8", "3.9", "3.10", "3.11", "3.12"]), None),
         ("missing", "value", None, AttributeError),
     ],
 )
diff --git a/dev/breeze/tests/test_packages.py b/dev/breeze/tests/test_packages.py
index 017a71e9d6..7beb1b7d1f 100644
--- a/dev/breeze/tests/test_packages.py
+++ b/dev/breeze/tests/test_packages.py
@@ -376,7 +376,7 @@ def test_provider_jinja_context():
         "VERSION_SUFFIX": ".rc1",
         "PROVIDER_DESCRIPTION": "Amazon integration (including `Amazon Web Services (AWS) <https://aws.amazon.com/>`__).\n",
         "CHANGELOG_RELATIVE_PATH": "../../airflow/providers/amazon",
-        "SUPPORTED_PYTHON_VERSIONS": ["3.8", "3.9", "3.10", "3.11"],
+        "SUPPORTED_PYTHON_VERSIONS": ["3.8", "3.9", "3.10", "3.11", "3.12"],
         "PLUGINS": [],
         "MIN_AIRFLOW_VERSION": "2.6.0",
         "PROVIDER_REMOVED": False,
diff --git a/dev/breeze/tests/test_selective_checks.py b/dev/breeze/tests/test_selective_checks.py
index f3b48c6224..df458863c6 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -429,10 +429,10 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str):
                 ("pyproject.toml",),
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "needs-helm-tests": "true",
@@ -455,10 +455,10 @@ def assert_outputs_are_printed(expected_outputs: dict[str, str], stderr: str):
                 ("generated/provider_dependencies.json",),
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "needs-helm-tests": "true",
@@ -605,10 +605,10 @@ def test_expected_output_pull_request_main(
                 "main",
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "run-tests": "true",
@@ -634,10 +634,10 @@ def test_expected_output_pull_request_main(
                 "main",
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "run-tests": "true",
@@ -661,10 +661,10 @@ def test_expected_output_pull_request_main(
                 "main",
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "run-tests": "true",
@@ -688,10 +688,10 @@ def test_expected_output_pull_request_main(
                 "v2-7-stable",
                 {
                     "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
-                    "python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                    "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
+                    "python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                    "python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                     "ci-image-build": "true",
                     "prod-image-build": "true",
                     "run-tests": "true",
@@ -1037,8 +1037,8 @@ def test_expected_output_pull_request_target(
             "main",
             {
                 "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                 "ci-image-build": "true",
                 "prod-image-build": "true",
                 "needs-helm-tests": "true",
@@ -1059,8 +1059,8 @@ def test_expected_output_pull_request_target(
             "v2-3-stable",
             {
                 "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                 "ci-image-build": "true",
                 "prod-image-build": "true",
                 "needs-helm-tests": "false",
@@ -1083,8 +1083,8 @@ def test_expected_output_pull_request_target(
             "main",
             {
                 "affected-providers-list-as-string": ALL_PROVIDERS_AFFECTED,
-                "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+                "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+                "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
                 "ci-image-build": "true",
                 "prod-image-build": "true",
                 "needs-helm-tests": "true",
@@ -1137,8 +1137,8 @@ def test_no_commit_provided_trigger_full_build_for_any_event_type(github_event):
     )
     assert_outputs_are_printed(
         {
-            "all-python-versions": "['3.8', '3.9', '3.10', '3.11']",
-            "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11",
+            "all-python-versions": "['3.8', '3.9', '3.10', '3.11', '3.12']",
+            "all-python-versions-list-as-string": "3.8 3.9 3.10 3.11 3.12",
             "ci-image-build": "true",
             "prod-image-build": "true",
             "needs-helm-tests": "true",
diff --git a/dev/retag_docker_images.py b/dev/retag_docker_images.py
index bbf63fab13..208e8eeb30 100755
--- a/dev/retag_docker_images.py
+++ b/dev/retag_docker_images.py
@@ -32,7 +32,7 @@ import subprocess
 
 import rich_click as click
 
-PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11"]
+PYTHON_VERSIONS = ["3.8", "3.9", "3.10", "3.11", "3.12"]
 
 GHCR_IO_PREFIX = "ghcr.io"
 
diff --git a/generated/provider_dependencies.json b/generated/provider_dependencies.json
index d69a2ab0c8..54cfc2cd0a 100644
--- a/generated/provider_dependencies.json
+++ b/generated/provider_dependencies.json
@@ -76,7 +76,9 @@
     "cross-providers-deps": [
       "google"
     ],
-    "excluded-python-versions": [],
+    "excluded-python-versions": [
+      "3.12"
+    ],
     "state": "ready"
   },
   "apache.cassandra": {
@@ -86,7 +88,9 @@
     ],
     "devel-deps": [],
     "cross-providers-deps": [],
-    "excluded-python-versions": [],
+    "excluded-python-versions": [
+      "3.12"
+    ],
     "state": "ready"
   },
   "apache.drill": {
@@ -879,7 +883,9 @@
     ],
     "devel-deps": [],
     "cross-providers-deps": [],
-    "excluded-python-versions": [],
+    "excluded-python-versions": [
+      "3.12"
+    ],
     "state": "ready"
   },
   "pgvector": {
diff --git a/pyproject.toml b/pyproject.toml
index a8384e675f..ee6ca8ab8a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -285,7 +285,8 @@ devel-devscripts = [
     "twine>=4.0.2",
 ]
 devel-duckdb = [
-    "duckdb>=0.9.0",
+    # TODO: duckdb dev wheels are produced in a strange way with 3.12 support (they are missing for linux now)
+    "duckdb>=0.9.0; python_version < '3.12'",
 ]
 # Mypy 0.900 and above ships only with stubs from stdlib so if we need other stubs, we need to install them
 # manually as `types-*`. See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
@@ -344,6 +345,7 @@ devel-tests = [
     "pytest>=7.4.4,<8.0",
     "requests_mock>=1.11.0",
     "time-machine>=2.13.0",
+    "wheel>=0.42.0",
 ]
 # END OF devel extras
 # START OF doc extras
@@ -554,11 +556,11 @@ amazon = [ # source: airflow/providers/amazon/provider.yaml
   "s3fs>=2023.10.0",
 ]
 apache-beam = [ # source: airflow/providers/apache/beam/provider.yaml
-  "apache-beam>=2.53.0",
-  "pyarrow>=14.0.1",
+  "apache-beam>=2.53.0;python_version != \"3.12\"",
+  "pyarrow>=14.0.1;python_version != \"3.12\"",
 ]
 apache-cassandra = [ # source: airflow/providers/apache/cassandra/provider.yaml
-  "cassandra-driver>=3.13.0",
+  "cassandra-driver>=3.13.0;python_version != \"3.12\"",
 ]
 apache-drill = [ # source: airflow/providers/apache/drill/provider.yaml
   "apache-airflow[common_sql]",
@@ -853,9 +855,9 @@ pagerduty = [ # source: airflow/providers/pagerduty/provider.yaml
   "pdpyras>=4.1.2",
 ]
 papermill = [ # source: airflow/providers/papermill/provider.yaml
-  "ipykernel",
-  "papermill[all]>=2.4.0",
-  "scrapbook[all]",
+  "ipykernel;python_version != \"3.12\"",
+  "papermill[all]>=2.4.0;python_version != \"3.12\"",
+  "scrapbook[all];python_version != \"3.12\"",
 ]
 pgvector = [ # source: airflow/providers/pgvector/provider.yaml
   "apache-airflow[postgres]",
@@ -1203,6 +1205,13 @@ platforms = ["linux", "macos"]
 description = "Environment with Python 3.11. No devel installed"
 features = []
 
+[tool.hatch.envs.airflow-312]
+python = "3.12"
+platforms = ["linux", "macos"]
+description = "Environment with Python 3.12. No devel installed"
+features = []
+
+
 [tool.hatch.version]
 path = "airflow/__init__.py"
 
@@ -1246,7 +1255,7 @@ artifacts = [
 
 [tool.black]
 line-length = 110
-target-version = ['py38', 'py39', 'py310', 'py311']
+target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
 
 [tool.ruff]
 target-version = "py38"
diff --git a/scripts/docker/entrypoint_ci.sh b/scripts/docker/entrypoint_ci.sh
index b26d47626b..6baea3591c 100755
--- a/scripts/docker/entrypoint_ci.sh
+++ b/scripts/docker/entrypoint_ci.sh
@@ -278,11 +278,20 @@ function check_run_tests() {
     fi
 }
 
+# TODO: Remove me after universal pathlib with Python 3.12 support is released
+function check_install_universal_pathlib() {
+    echo
+    echo "${COLOR_BLUE}Installing universal python pathlib from PR url${COLOR_RESET}"
+    echo
+    pip install --root-user-action ignore git+https://github.com/ap--/universal_pathlib/@improve-subclassing-for-py312#egg=universal-pathlib
+}
+
 determine_airflow_to_use
 environment_initialization
 check_boto_upgrade
 check_download_sqlalchemy
 check_download_pendulum
+check_install_universal_pathlib
 check_run_tests "${@}"
 
 # If we are not running tests - just exec to bash shell
diff --git a/tests/always/test_example_dags.py b/tests/always/test_example_dags.py
index aadf4e5f91..d0dd9f604a 100644
--- a/tests/always/test_example_dags.py
+++ b/tests/always/test_example_dags.py
@@ -17,6 +17,7 @@
 from __future__ import annotations
 
 import os
+import sys
 from glob import glob
 from pathlib import Path
 
@@ -49,14 +50,34 @@ def get_suspended_providers_folders() -> list[str]:
     return suspended_providers
 
 
-def example_not_suspended_dags():
+def get_python_excluded_providers_folders() -> list[str]:
+    """
+    Returns a list of providers folders that should be excluded for current Python version and
+    skipped when running tests (without any prefix - for example apache/beam, yandex, google etc.).
+    """
+    excluded_providers = []
+    current_python_version = f"{sys.version_info.major}.{sys.version_info.minor}"
+    for provider_path in AIRFLOW_PROVIDERS_ROOT.rglob("provider.yaml"):
+        provider_yaml = yaml.safe_load(provider_path.read_text())
+        excluded_python_versions = provider_yaml.get("excluded-python-versions", [])
+        if current_python_version in excluded_python_versions:
+            excluded_providers.append(
+                provider_path.parent.relative_to(AIRFLOW_SOURCES_ROOT)
+                .as_posix()
+                .replace("airflow/providers/", "")
+            )
+    return excluded_providers
+
+
+def example_not_excluded_dags():
     example_dirs = ["airflow/**/example_dags/example_*.py", "tests/system/providers/**/example_*.py"]
-    suspended_providers_folders = get_suspended_providers_folders()
+    excluded_providers_folders = get_suspended_providers_folders()
+    excluded_providers_folders.extend(get_python_excluded_providers_folders())
     possible_prefixes = ["airflow/providers/", "tests/system/providers/"]
     suspended_providers_folders = [
         AIRFLOW_SOURCES_ROOT.joinpath(prefix, provider).as_posix()
         for prefix in possible_prefixes
-        for provider in suspended_providers_folders
+        for provider in excluded_providers_folders
     ]
     for example_dir in example_dirs:
         candidates = glob(f"{AIRFLOW_SOURCES_ROOT.as_posix()}/{example_dir}", recursive=True)
@@ -68,7 +89,7 @@ def example_not_suspended_dags():
 def example_dags_except_db_exception():
     return [
         dag_file
-        for dag_file in example_not_suspended_dags()
+        for dag_file in example_not_excluded_dags()
         if not dag_file.endswith(tuple(NO_DB_QUERY_EXCEPTION))
     ]
 
@@ -78,7 +99,7 @@ def relative_path(path):
 
 
 @pytest.mark.db_test
-@pytest.mark.parametrize("example", example_not_suspended_dags(), ids=relative_path)
+@pytest.mark.parametrize("example", example_not_excluded_dags(), ids=relative_path)
 def test_should_be_importable(example):
     dagbag = DagBag(
         dag_folder=example,
diff --git a/tests/integration/providers/apache/cassandra/hooks/test_cassandra.py b/tests/integration/providers/apache/cassandra/hooks/test_cassandra.py
index c27b72d369..14552c81d2 100644
--- a/tests/integration/providers/apache/cassandra/hooks/test_cassandra.py
+++ b/tests/integration/providers/apache/cassandra/hooks/test_cassandra.py
@@ -21,17 +21,21 @@ import re
 from unittest import mock
 
 import pytest
-from cassandra.cluster import Cluster
-from cassandra.policies import (
+
+cassandra = pytest.importorskip("cassandra")
+
+
+from cassandra.cluster import Cluster  # noqa: E402
+from cassandra.policies import (  # noqa: E402
     DCAwareRoundRobinPolicy,
     RoundRobinPolicy,
     TokenAwarePolicy,
     WhiteListRoundRobinPolicy,
 )
 
-from airflow.models import Connection
-from airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook
-from airflow.utils import db
+from airflow.models import Connection  # noqa: E402
+from airflow.providers.apache.cassandra.hooks.cassandra import CassandraHook  # noqa: E402
+from airflow.utils import db  # noqa: E402
 
 
 @pytest.mark.integration("cassandra")
diff --git a/tests/providers/amazon/aws/executors/ecs/test_ecs_executor.py b/tests/providers/amazon/aws/executors/ecs/test_ecs_executor.py
index 04e7774555..f8bea330a7 100644
--- a/tests/providers/amazon/aws/executors/ecs/test_ecs_executor.py
+++ b/tests/providers/amazon/aws/executors/ecs/test_ecs_executor.py
@@ -1141,7 +1141,7 @@ class TestEcsExecutorConfig:
         task_kwargs = ecs_executor_config.build_task_kwargs()
         assert "launchType" not in task_kwargs
         assert "capacityProviderStrategy" not in task_kwargs
-        assert mock_conn.describe_clusters.called_once()
+        mock_conn.describe_clusters.assert_called_once()
 
     @mock.patch.object(EcsHook, "conn")
     def test_providing_no_capacity_provider_no_lunch_type_no_cluster_default(self, mock_conn, set_env_vars):
diff --git a/tests/providers/apache/cassandra/sensors/test_record.py b/tests/providers/apache/cassandra/sensors/test_record.py
index 309c168af2..2bb8c623ef 100644
--- a/tests/providers/apache/cassandra/sensors/test_record.py
+++ b/tests/providers/apache/cassandra/sensors/test_record.py
@@ -19,7 +19,11 @@ from __future__ import annotations
 
 from unittest.mock import patch
 
-from airflow.providers.apache.cassandra.sensors.record import CassandraRecordSensor
+import pytest
+
+cassandra = pytest.importorskip("cassandra")
+
+from airflow.providers.apache.cassandra.sensors.record import CassandraRecordSensor  # noqa: E402
 
 TEST_CASSANDRA_CONN_ID = "cassandra_default"
 TEST_CASSANDRA_TABLE = "t"
diff --git a/tests/providers/apache/cassandra/sensors/test_table.py b/tests/providers/apache/cassandra/sensors/test_table.py
index 9f02f0413b..f4da4bad15 100644
--- a/tests/providers/apache/cassandra/sensors/test_table.py
+++ b/tests/providers/apache/cassandra/sensors/test_table.py
@@ -19,7 +19,11 @@ from __future__ import annotations
 
 from unittest.mock import patch
 
-from airflow.providers.apache.cassandra.sensors.table import CassandraTableSensor
+import pytest
+
+cassandra = pytest.importorskip("cassandra")
+
+from airflow.providers.apache.cassandra.sensors.table import CassandraTableSensor  # noqa: E402
 
 TEST_CASSANDRA_CONN_ID = "cassandra_default"
 TEST_CASSANDRA_TABLE = "t"
diff --git a/tests/providers/google/cloud/transfers/test_cassandra_to_gcs.py b/tests/providers/google/cloud/transfers/test_cassandra_to_gcs.py
index 68a3155cf3..8e707d2afa 100644
--- a/tests/providers/google/cloud/transfers/test_cassandra_to_gcs.py
+++ b/tests/providers/google/cloud/transfers/test_cassandra_to_gcs.py
@@ -22,7 +22,9 @@ from unittest.mock import call
 
 import pytest
 
-from airflow.providers.google.cloud.transfers.cassandra_to_gcs import CassandraToGCSOperator
+cassandra = pytest.importorskip("cassandra")
+
+from airflow.providers.google.cloud.transfers.cassandra_to_gcs import CassandraToGCSOperator  # noqa: E402
 
 TMP_FILE_NAME = "temp-file"
 TEST_BUCKET = "test-bucket"
diff --git a/tests/providers/google/cloud/utils/test_mlengine_prediction_summary.py b/tests/providers/google/cloud/utils/test_mlengine_prediction_summary.py
index 0bf647399d..eb06759e86 100644
--- a/tests/providers/google/cloud/utils/test_mlengine_prediction_summary.py
+++ b/tests/providers/google/cloud/utils/test_mlengine_prediction_summary.py
@@ -23,11 +23,14 @@ from unittest import mock
 import dill
 import pytest
 
-try:
+from airflow import PY312
+
+if not PY312:
     from airflow.providers.google.cloud.utils import mlengine_prediction_summary
-except ImportError as e:
-    if "apache_beam" in str(e):
-        pytestmark = pytest.mark.skip(f"package apache_beam not present. Skipping all tests in {__name__}")
+else:
+    pytestmark = pytest.mark.skip(
+        f"package apache_beam is not available for PY312. Skipping all tests in {__name__}"
+    )
 
 
 class TestJsonCode:
@@ -84,23 +87,28 @@ class TestMakeSummary:
                 ]
             )
 
-    @mock.patch.object(mlengine_prediction_summary.beam.pipeline, "PipelineOptions")
-    @mock.patch.object(mlengine_prediction_summary.beam, "Pipeline")
-    @mock.patch.object(mlengine_prediction_summary.beam.io, "ReadFromText")
     def test_run_should_not_fail_with_valid_fn(self, io_mock, pipeline_obj_mock, pipeline_mock):
-        def metric_function():
-            return 1
-
-        fn_enc = base64.b64encode(dill.dumps(metric_function)).decode("utf-8")
-
-        mlengine_prediction_summary.run(
-            [
-                "--prediction_path=some/path",
-                "--metric_fn_encoded=" + fn_enc,
-                "--metric_keys=a",
-            ]
-        )
-
-        pipeline_mock.assert_called_once_with([])
-        pipeline_obj_mock.assert_called_once()
-        io_mock.assert_called_once()
+        with mock.patch.object(
+            mlengine_prediction_summary.beam.pipeline, "PipelineOptions"
+        ) as pipeline_mock, mock.patch.object(
+            mlengine_prediction_summary.beam, "Pipeline"
+        ) as pipeline_obj_mock, mock.patch.object(
+            mlengine_prediction_summary.beam.io, "ReadFromText"
+        ) as io_mock:
+
+            def metric_function():
+                return 1
+
+            fn_enc = base64.b64encode(dill.dumps(metric_function)).decode("utf-8")
+
+            mlengine_prediction_summary.run(
+                [
+                    "--prediction_path=some/path",
+                    "--metric_fn_encoded=" + fn_enc,
+                    "--metric_keys=a",
+                ]
+            )
+
+            pipeline_mock.assert_called_once_with([])
+            pipeline_obj_mock.assert_called_once()
+            io_mock.assert_called_once()
diff --git a/tests/providers/microsoft/azure/hooks/test_adx.py b/tests/providers/microsoft/azure/hooks/test_adx.py
index d919ce699a..55936bce8f 100644
--- a/tests/providers/microsoft/azure/hooks/test_adx.py
+++ b/tests/providers/microsoft/azure/hooks/test_adx.py
@@ -20,7 +20,7 @@ from __future__ import annotations
 from unittest import mock
 
 import pytest
-from azure.kusto.data import ClientRequestProperties, KustoClient, KustoConnectionStringBuilder
+from azure.kusto.data import ClientRequestProperties, KustoClient
 from packaging.version import Version
 
 from airflow.exceptions import AirflowException
@@ -97,11 +97,12 @@ class TestAzureDataExplorerHook:
     def test_conn_method_aad_creds(self, mock_init, mocked_connection):
         mock_init.return_value = None
         AzureDataExplorerHook(azure_data_explorer_conn_id=mocked_connection.conn_id).get_conn()
-        assert mock_init.called_with(
-            KustoConnectionStringBuilder.with_aad_user_password_authentication(
-                "https://help.kusto.windows.net", "client_id", "client secret", "tenant"
-            )
-        )
+        mock_init.assert_called()
+        args = mock_init.call_args
+        assert args[0][0].data_source == "https://help.kusto.windows.net"
+        assert args[0][0].aad_user_id == "client_id"
+        assert args[0][0].password == "client secret"
+        assert args[0][0].authority_id == "tenant"
 
     @pytest.mark.parametrize(
         "mocked_connection",
@@ -166,11 +167,12 @@ class TestAzureDataExplorerHook:
     def test_conn_method_aad_app(self, mock_init, mocked_connection):
         mock_init.return_value = None
         AzureDataExplorerHook(azure_data_explorer_conn_id=mocked_connection.conn_id).get_conn()
-        assert mock_init.called_with(
-            KustoConnectionStringBuilder.with_aad_application_key_authentication(
-                "https://help.kusto.windows.net", "app_id", "app key", "tenant"
-            )
-        )
+        mock_init.assert_called()
+        arg = mock_init.call_args
+        assert arg[0][0].data_source == "https://help.kusto.windows.net"
+        assert arg[0][0].application_client_id == "app_id"
+        assert arg[0][0].application_key == "app key"
+        assert arg[0][0].authority_id == "tenant"
 
     @pytest.mark.parametrize(
         "mocked_connection",
@@ -193,11 +195,13 @@ class TestAzureDataExplorerHook:
     def test_conn_method_aad_app_cert(self, mock_init, mocked_connection):
         mock_init.return_value = None
         AzureDataExplorerHook(azure_data_explorer_conn_id=mocked_connection.conn_id).get_conn()
-        assert mock_init.called_with(
-            KustoConnectionStringBuilder.with_aad_application_certificate_authentication(
-                "https://help.kusto.windows.net", "client_id", "PEM", "thumbprint", "tenant"
-            )
-        )
+        mock_init.assert_called()
+        arg = mock_init.call_args
+        assert arg[0][0].data_source == "https://help.kusto.windows.net"
+        assert arg[0][0].application_client_id == "app_id"
+        assert arg[0][0].application_key == "app key"
+        assert arg[0][0].aad_federated_security
+        assert arg[0][0].authority_id == "tenant"
 
     @pytest.mark.parametrize(
         "mocked_connection",
@@ -215,9 +219,9 @@ class TestAzureDataExplorerHook:
     def test_conn_method_aad_device(self, mock_init, mocked_connection):
         mock_init.return_value = None
         AzureDataExplorerHook(azure_data_explorer_conn_id=mocked_connection.conn_id).get_conn()
-        assert mock_init.called_with(
-            KustoConnectionStringBuilder.with_aad_device_authentication("https://help.kusto.windows.net")
-        )
+        mock_init.assert_called()
+        arg = mock_init.call_args
+        assert arg[0][0].data_source == "https://help.kusto.windows.net"
 
     @pytest.mark.parametrize(
         "mocked_connection",
@@ -240,13 +244,14 @@ class TestAzureDataExplorerHook:
     def test_conn_method_azure_token_cred(self, mock_init, mock_default_azure_credential, mocked_connection):
         mock_init.return_value = None
         AzureDataExplorerHook(azure_data_explorer_conn_id=mocked_connection.conn_id).get_conn()
-        assert mock_default_azure_credential.called_with("test_id", "test_tenant_id")
-        assert mock_init.called_with(
-            KustoConnectionStringBuilder.with_azure_token_credential(
-                connection_string="https://help.kusto.windows.net",
-                credential=mock_default_azure_credential,
-            )
-        )
+        mock_init.assert_called()
+        args = mock_init.call_args
+        assert args[0][0].data_source == "https://help.kusto.windows.net"
+
+        mock_default_azure_credential.assert_called()
+        args = mock_default_azure_credential.call_args
+        assert args[1]["managed_identity_client_id"] == "test_id"
+        assert args[1]["workload_identity_tenant_id"] == "test_tenant_id"
 
     @pytest.mark.parametrize(
         "mocked_connection",
@@ -267,7 +272,11 @@ class TestAzureDataExplorerHook:
         hook.run_query("Database", "Logs | schema", options={"option1": "option_value"})
         properties = ClientRequestProperties()
         properties.set_option("option1", "option_value")
-        assert mock_execute.called_with("Database", "Logs | schema", properties=properties)
+        mock_execute.assert_called()
+        args = mock_execute.call_args
+        assert args[0][0] == "Logs | schema"
+        assert args[0][1] == "Database"
+        assert args[1]["properties"]._options["option1"] == "option_value"
 
     @pytest.mark.parametrize(
         "mocked_connection",
diff --git a/tests/providers/microsoft/azure/hooks/test_wasb.py b/tests/providers/microsoft/azure/hooks/test_wasb.py
index 887fc7df38..7fb4d7d8f9 100644
--- a/tests/providers/microsoft/azure/hooks/test_wasb.py
+++ b/tests/providers/microsoft/azure/hooks/test_wasb.py
@@ -188,9 +188,12 @@ class TestWasbHook:
         )
 
     def test_managed_identity(self, mocked_default_azure_credential, mocked_blob_service_client):
-        assert mocked_default_azure_credential.called_with(None, None)
+        mocked_default_azure_credential.assert_not_called()
         mocked_default_azure_credential.return_value = "foo-bar"
         WasbHook(wasb_conn_id=self.managed_identity_conn_id).get_conn()
+        mocked_default_azure_credential.assert_called_with(
+            managed_identity_client_id=None, workload_identity_tenant_id=None
+        )
         mocked_blob_service_client.assert_called_once_with(
             account_url="https://None.blob.core.windows.net/",
             credential="foo-bar",
diff --git a/tests/providers/papermill/hooks/test_kernel.py b/tests/providers/papermill/hooks/test_kernel.py
index 4266d5fcb7..b6e1eb10b2 100644
--- a/tests/providers/papermill/hooks/test_kernel.py
+++ b/tests/providers/papermill/hooks/test_kernel.py
@@ -18,8 +18,17 @@ from __future__ import annotations
 
 from unittest.mock import patch
 
-from airflow.models import Connection
-from airflow.providers.papermill.hooks.kernel import KernelHook
+import pytest
+
+from airflow import PY312
+
+pytestmark = pytest.mark.skipif(
+    PY312,
+    reason="PapermillOperator is not supported on Python 3.12",
+)
+
+from airflow.models import Connection  # noqa: E402
+from airflow.providers.papermill.hooks.kernel import KernelHook  # noqa: E402
 
 
 class TestKernelHook:
diff --git a/tests/providers/papermill/operators/test_papermill.py b/tests/providers/papermill/operators/test_papermill.py
index e734bb8ed6..b748b3a042 100644
--- a/tests/providers/papermill/operators/test_papermill.py
+++ b/tests/providers/papermill/operators/test_papermill.py
@@ -21,15 +21,14 @@ from unittest.mock import MagicMock, patch
 
 import pytest
 
-from airflow.providers.papermill.hooks.kernel import (
-    JUPYTER_KERNEL_CONTROL_PORT,
-    JUPYTER_KERNEL_HB_PORT,
-    JUPYTER_KERNEL_IOPUB_PORT,
-    JUPYTER_KERNEL_SHELL_PORT,
-    JUPYTER_KERNEL_STDIN_PORT,
+from airflow import PY312
+
+pytestmark = pytest.mark.skipif(
+    PY312,
+    reason="PapermillOperator is not supported on Python 3.12",
 )
-from airflow.providers.papermill.operators.papermill import REMOTE_KERNEL_ENGINE, NoteBook, PapermillOperator
-from airflow.utils import timezone
+
+from airflow.utils import timezone  # noqa: E402
 
 DEFAULT_DATE = timezone.datetime(2021, 1, 1)
 TEST_INPUT_URL = "/foo/bar"
@@ -40,6 +39,8 @@ class TestNoteBook:
     """Test NoteBook object."""
 
     def test_templated_fields(self):
+        from airflow.providers.papermill.operators.papermill import NoteBook
+
         assert hasattr(NoteBook, "template_fields")
         assert "parameters" in NoteBook.template_fields
 
@@ -50,35 +51,50 @@ class TestPapermillOperator:
     def test_mandatory_attributes(self):
         """Test missing Input or Output notebooks."""
         with pytest.raises(ValueError, match="Input notebook is not specified"):
+            from airflow.providers.papermill.operators.papermill import PapermillOperator
+
             PapermillOperator(task_id="missing_input_nb", output_nb="foo-bar")
 
         with pytest.raises(ValueError, match="Output notebook is not specified"):
             PapermillOperator(task_id="missing_input_nb", input_nb="foo-bar")
 
     @pytest.mark.parametrize(
-        "output_nb",
+        "output_nb_url, output_as_object",
         [
-            pytest.param(TEST_OUTPUT_URL, id="output-as-string"),
-            pytest.param(NoteBook(TEST_OUTPUT_URL), id="output-as-notebook-object"),
+            pytest.param(TEST_OUTPUT_URL, False, id="output-as-string"),
+            pytest.param(TEST_OUTPUT_URL, True, id="output-as-notebook-object"),
         ],
     )
     @pytest.mark.parametrize(
-        "input_nb",
+        "input_nb_url, input_as_object",
         [
-            pytest.param(TEST_INPUT_URL, id="input-as-string"),
-            pytest.param(NoteBook(TEST_INPUT_URL), id="input-as-notebook-object"),
+            pytest.param(TEST_INPUT_URL, False, id="input-as-string"),
+            pytest.param(TEST_INPUT_URL, True, id="input-as-notebook-object"),
         ],
     )
     @patch("airflow.providers.papermill.operators.papermill.pm")
     @patch("airflow.providers.papermill.operators.papermill.PapermillOperator.hook")
-    def test_notebooks_objects(self, mock_papermill, mock_hook, input_nb, output_nb):
+    def test_notebooks_objects(
+        self,
+        mock_papermill,
+        mock_hook,
+        input_nb_url: str,
+        output_nb_url: str,
+        input_as_object: bool,
+        output_as_object: bool,
+    ):
         """Test different type of Input/Output notebooks arguments."""
+        from airflow.providers.papermill.operators.papermill import NoteBook, PapermillOperator
+
+        input_nb: NoteBook | str = NoteBook(input_nb_url) if input_as_object else input_nb_url
+        output_nb: NoteBook | str = NoteBook(output_nb_url) if output_as_object else output_nb_url
+
         op = PapermillOperator(task_id="test_notebooks_objects", input_nb=input_nb, output_nb=output_nb)
 
-        op.execute(None)
+        op.execute(context={})
 
-        assert op.input_nb.url == TEST_INPUT_URL
-        assert op.output_nb.url == TEST_OUTPUT_URL
+        assert op.input_nb.url == TEST_INPUT_URL  # type: ignore
+        assert op.output_nb.url == TEST_OUTPUT_URL  # type: ignore
 
         # Test render Lineage inlets/outlets
         assert op.inlets[0] == op.input_nb
@@ -92,6 +108,8 @@ class TestPapermillOperator:
         language_name = "python"
         parameters = {"msg": "hello_world", "train": 1}
 
+        from airflow.providers.papermill.operators.papermill import PapermillOperator
+
         op = PapermillOperator(
             input_nb=in_nb,
             output_nb=out_nb,
@@ -128,6 +146,8 @@ class TestPapermillOperator:
         conn.extra_dejson = {"session_key": "notebooks"}
         kernel_hook.return_value = conn
 
+        from airflow.providers.papermill.operators.papermill import PapermillOperator
+
         op = PapermillOperator(
             input_nb=in_nb,
             output_nb=out_nb,
@@ -141,6 +161,15 @@ class TestPapermillOperator:
 
         op.execute(context={})
 
+        from airflow.providers.papermill.hooks.kernel import (
+            JUPYTER_KERNEL_CONTROL_PORT,
+            JUPYTER_KERNEL_HB_PORT,
+            JUPYTER_KERNEL_IOPUB_PORT,
+            JUPYTER_KERNEL_SHELL_PORT,
+            JUPYTER_KERNEL_STDIN_PORT,
+            REMOTE_KERNEL_ENGINE,
+        )
+
         mock_papermill.execute_notebook.assert_called_once_with(
             in_nb,
             out_nb,
@@ -162,6 +191,8 @@ class TestPapermillOperator:
     @pytest.mark.db_test
     def test_render_template(self, create_task_instance_of_operator):
         """Test rendering fields."""
+        from airflow.providers.papermill.operators.papermill import PapermillOperator
+
         ti = create_task_instance_of_operator(
             PapermillOperator,
             input_nb="/tmp/{{ dag.dag_id }}.ipynb",
diff --git a/tests/www/api/experimental/test_endpoints.py b/tests/www/api/experimental/test_endpoints.py
index f645134a48..807456fd60 100644
--- a/tests/www/api/experimental/test_endpoints.py
+++ b/tests/www/api/experimental/test_endpoints.py
@@ -26,7 +26,7 @@ from urllib.parse import quote_plus
 
 import pytest
 
-from airflow import settings
+from airflow import PY312, settings
 from airflow.api.common.experimental.trigger_dag import trigger_dag
 from airflow.models import DagBag, DagRun, Pool, TaskInstance
 from airflow.models.serialized_dag import SerializedDagModel
@@ -334,6 +334,9 @@ class TestLineageApiExperimental(TestBase):
             dag.sync_to_db()
             SerializedDagModel.write_dag(dag)
 
+    @pytest.mark.skipif(
+        PY312, reason="Skipped as papermill used with experimental lineage is not Python 3.12 compatible"
+    )
     @mock.patch("airflow.settings.DAGS_FOLDER", PAPERMILL_EXAMPLE_DAGS)
     def test_lineage_info(self):
         url_template = "/api/experimental/lineage/{}/{}"
diff --git a/tests/www/test_security.py b/tests/www/test_security.py
index ef1f90f51d..bdeb09164e 100644
--- a/tests/www/test_security.py
+++ b/tests/www/test_security.py
@@ -1082,7 +1082,7 @@ def test_update_user_auth_stat_first_successful_auth(mock_security_manager, new_
     assert new_user.login_count == 1
     assert new_user.fail_login_count == 0
     assert new_user.last_login == datetime.datetime(1985, 11, 5, 1, 24, 0)
-    assert mock_security_manager.update_user.called_once
+    mock_security_manager.update_user.assert_called_once_with(new_user)
 
 
 @time_machine.travel(datetime.datetime(1985, 11, 5, 1, 24, 0), tick=False)
@@ -1092,7 +1092,7 @@ def test_update_user_auth_stat_subsequent_successful_auth(mock_security_manager,
     assert old_user.login_count == 43
     assert old_user.fail_login_count == 0
     assert old_user.last_login == datetime.datetime(1985, 11, 5, 1, 24, 0)
-    assert mock_security_manager.update_user.called_once
+    mock_security_manager.update_user.assert_called_once_with(old_user)
 
 
 @time_machine.travel(datetime.datetime(1985, 11, 5, 1, 24, 0), tick=False)
@@ -1102,7 +1102,7 @@ def test_update_user_auth_stat_first_unsuccessful_auth(mock_security_manager, ne
     assert new_user.login_count == 0
     assert new_user.fail_login_count == 1
     assert new_user.last_login is None
-    assert mock_security_manager.update_user.called_once
+    mock_security_manager.update_user.assert_called_once_with(new_user)
 
 
 @time_machine.travel(datetime.datetime(1985, 11, 5, 1, 24, 0), tick=False)
@@ -1112,7 +1112,7 @@ def test_update_user_auth_stat_subsequent_unsuccessful_auth(mock_security_manage
     assert old_user.login_count == 42
     assert old_user.fail_login_count == 10
     assert old_user.last_login == datetime.datetime(1984, 12, 1, 0, 0, 0)
-    assert mock_security_manager.update_user.called_once
+    mock_security_manager.update_user.assert_called_once_with(old_user)
 
 
 def test_users_can_be_found(app, security_manager, session, caplog):