This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch providers-fab/v1-5
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/providers-fab/v1-5 by this
push:
new 3f7f727a747 Better version check for Werkzeug (#56408)
3f7f727a747 is described below
commit 3f7f727a7476a99b66fdb121824ba4cbc7cd1f4b
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Oct 16 14:06:28 2025 +0200
Better version check for Werkzeug (#56408)
Werkzeug 3.0.0 deprecated `__version__` and recommends to use
importlib version to check for version.
---
.pre-commit-config.yaml | 14 +++++++-------
contributing-docs/08_static_code_checks.rst | 2 --
dev/breeze/src/airflow_breeze/pre_commit_ids.py | 1 -
.../auth-manager/webserver-authentication.rst | 3 +--
.../fab/auth_manager/security_manager/override.py | 8 ++++----
scripts/ci/pre_commit/mypy_folder.py | 4 ++--
6 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cd755741e0a..9f42478a9b1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1387,13 +1387,13 @@ repos:
pass_filenames: false
files:
^airflow/migrations/versions/.*\.py$|^docs/apache-airflow/migrations-ref\.rst$
additional_dependencies: ['rich>=12.4.4']
- - id: generate-openapi-spec
- name: Generate the FastAPI API spec
- language: python
- entry: ./scripts/ci/pre_commit/update_fastapi_api_spec.py
- pass_filenames: false
- files: ^airflow/api_fastapi/.*\.py$
- additional_dependencies: ['rich>=12.4.4']
+# - id: generate-openapi-spec
+# name: Generate the FastAPI API spec
+# language: python
+# entry: ./scripts/ci/pre_commit/update_fastapi_api_spec.py
+# pass_filenames: false
+# files: ^airflow/api_fastapi/.*\.py$
+# additional_dependencies: ['rich>=12.4.4']
- id: update-er-diagram
name: Update ER diagram
language: python
diff --git a/contributing-docs/08_static_code_checks.rst
b/contributing-docs/08_static_code_checks.rst
index 29eafc713c3..113f8fdd05e 100644
--- a/contributing-docs/08_static_code_checks.rst
+++ b/contributing-docs/08_static_code_checks.rst
@@ -272,8 +272,6 @@ require Breeze Docker image to be built locally.
+-----------------------------------------------------------+--------------------------------------------------------+---------+
| generate-airflow-diagrams | Generate airflow
diagrams | |
+-----------------------------------------------------------+--------------------------------------------------------+---------+
-| generate-openapi-spec | Generate the
FastAPI API spec | * |
-+-----------------------------------------------------------+--------------------------------------------------------+---------+
| generate-pypi-readme | Generate PyPI
README | |
+-----------------------------------------------------------+--------------------------------------------------------+---------+
| identity | Print checked
files | |
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index 07cdda31eac..629ebb8d389 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -101,7 +101,6 @@ PRE_COMMIT_LIST = [
"fix-encoding-pragma",
"flynt",
"generate-airflow-diagrams",
- "generate-openapi-spec",
"generate-pypi-readme",
"identity",
"insert-license",
diff --git
a/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
b/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
index 8cc4c3823e2..dcbe4602956 100644
---
a/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
+++
b/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
@@ -64,8 +64,7 @@ methods like OAuth, OpenID, LDAP, REMOTE_USER. It should be
noted that due to th
and Authlib, only a selection of OAuth2 providers is supported. This list
includes ``github``, ``githublocal``, ``twitter``,
``linkedin``, ``google``, ``azure``, ``openshift``, ``okta``, ``keycloak`` and
``keycloak_before_17``.
-The default authentication option described in the :ref:`Web Authentication
<web-authentication>` section is related
-with the following entry in the ``$AIRFLOW_HOME/webserver_config.py``.
+The default authentication option described is related with the following
entry in the ``$AIRFLOW_HOME/webserver_config.py``.
.. code-block:: ini
diff --git
a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
index 6b65981ada1..30d440bcde2 100644
---
a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
+++
b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
@@ -19,6 +19,7 @@ from __future__ import annotations
import copy
import datetime
+import importlib
import itertools
import logging
import os
@@ -68,6 +69,7 @@ from flask_jwt_extended import JWTManager, current_user as
current_user_jwt
from flask_login import LoginManager
from itsdangerous import want_bytes
from markupsafe import Markup
+from packaging.version import Version
from sqlalchemy import and_, func, inspect, literal, or_, select
from sqlalchemy.exc import MultipleResultsFound
from sqlalchemy.orm import Session, joinedload
@@ -847,10 +849,8 @@ class
FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
app.config.setdefault("AUTH_ROLES_SYNC_AT_LOGIN", False)
app.config.setdefault("AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS", False)
- from packaging.version import Version
- from werkzeug import __version__ as werkzeug_version
-
- parsed_werkzeug_version = Version(werkzeug_version)
+ # Werkzeug prior to 3.0.0 does not support scrypt
+ parsed_werkzeug_version =
Version(importlib.metadata.version("werkzeug"))
if parsed_werkzeug_version < Version("3.0.0"):
app.config.setdefault(
"AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
diff --git a/scripts/ci/pre_commit/mypy_folder.py
b/scripts/ci/pre_commit/mypy_folder.py
index 36a7840fff9..33b3bd342f3 100755
--- a/scripts/ci/pre_commit/mypy_folder.py
+++ b/scripts/ci/pre_commit/mypy_folder.py
@@ -49,10 +49,10 @@ if mypy_folder not in ALLOWED_FOLDERS:
sys.exit(1)
arguments = [mypy_folder]
-if mypy_folder == "providers/src/airflow/providers":
+if mypy_folder == "providers/src/airflow/providers/fab":
arguments.extend(
[
- "providers/tests",
+ "providers/tests/fab",
"--namespace-packages",
]
)