From 84fa749dfc181a3d06f760f1ef74dd92890beb8c Mon Sep 17 00:00:00 2001 From: Jens Scheffler Date: Mon, 26 Aug 2024 23:58:33 +0200 Subject: [PATCH 1/2] Remove deprecations in airflow.models.errors --- airflow/models/errors.py | 17 ----------------- newsfragments/41779.significant.rst | 1 + 2 files changed, 1 insertion(+), 17 deletions(-) create mode 100644 newsfragments/41779.significant.rst diff --git a/airflow/models/errors.py b/airflow/models/errors.py index f891b03d67a15..403b0cd018a42 100644 --- a/airflow/models/errors.py +++ b/airflow/models/errors.py @@ -17,11 +17,8 @@ # under the License. from __future__ import annotations -import warnings - from sqlalchemy import Column, Integer, String, Text -from airflow.exceptions import RemovedInAirflow3Warning from airflow.models.base import Base from airflow.utils.sqlalchemy import UtcDateTime @@ -35,17 +32,3 @@ class ParseImportError(Base): filename = Column(String(1024)) stacktrace = Column(Text) processor_subdir = Column(String(2000), nullable=True) - - -def __getattr__(name: str): - # PEP-562: Lazy loaded attributes on python modules - if name == "ImportError": - warnings.warn( - f"Model class '{__name__}.ImportError' is deprecated due to shadowing with builtin exception " - f"ImportError and will be removed in the future. " - f"Please consider to use '{__name__}.ParseImportError' instead.", - RemovedInAirflow3Warning, - stacklevel=2, - ) - return ParseImportError - raise AttributeError(f"module {__name__} has no attribute {name}") diff --git a/newsfragments/41779.significant.rst b/newsfragments/41779.significant.rst new file mode 100644 index 0000000000000..f25e0c9080a5a --- /dev/null +++ b/newsfragments/41779.significant.rst @@ -0,0 +1 @@ +Remove deprecated support for ``airflow.models.errors.ImportError`` which has been renamed to ``ParseImportError``. From 3c7c06d5d4e4cb9f7b379c27a51042980cfc5dc4 Mon Sep 17 00:00:00 2001 From: Jens Scheffler Date: Tue, 27 Aug 2024 00:16:05 +0200 Subject: [PATCH 2/2] Fix static code checks in compat --- tests/test_utils/compat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_utils/compat.py b/tests/test_utils/compat.py index b5e876a626add..b09973903b4e2 100644 --- a/tests/test_utils/compat.py +++ b/tests/test_utils/compat.py @@ -36,7 +36,7 @@ # all providers are updated to airflow 2.10+. from airflow.models.errors import ParseImportError except ImportError: - from airflow.models.errors import ImportError as ParseImportError # type: ignore[no-redef] + from airflow.models.errors import ImportError as ParseImportError # type: ignore[no-redef,attr-defined] from airflow import __version__ as airflow_version