From 0ac311e78f2756d871e215a173be5e7ee7e0e24b Mon Sep 17 00:00:00 2001 From: Elad Kalif <45845474+eladkal@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:45:10 +0300 Subject: [PATCH 1/2] Fix `importlib_metadata` import in aws utils --- airflow/providers/amazon/aws/utils/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/airflow/providers/amazon/aws/utils/__init__.py b/airflow/providers/amazon/aws/utils/__init__.py index 218ccc5768a17..bdbcb5f614a97 100644 --- a/airflow/providers/amazon/aws/utils/__init__.py +++ b/airflow/providers/amazon/aws/utils/__init__.py @@ -22,7 +22,12 @@ from enum import Enum from typing import Any -import importlib_metadata +import sys + +if sys.version_info >= (3, 10): + from importlib import metadata +else: + import importlib_metadata as metadata # type: ignore[no-redef] from airflow.exceptions import AirflowException from airflow.utils.helpers import prune_dict @@ -78,7 +83,7 @@ def get_airflow_version() -> tuple[int, ...]: def get_botocore_version() -> tuple[int, ...]: """Return the version number of the installed botocore package in the form of a tuple[int,...].""" - return tuple(map(int, importlib_metadata.version("botocore").split(".")[:3])) + return tuple(map(int, metadata.version("botocore").split(".")[:3])) def validate_execute_complete_event(event: dict[str, Any] | None = None) -> dict[str, Any]: From ee3f6c4a2a6ec769ed818d7c53c38ec7013c2ef4 Mon Sep 17 00:00:00 2001 From: Elad Kalif <45845474+eladkal@users.noreply.github.com> Date: Sat, 8 Jun 2024 10:47:39 +0300 Subject: [PATCH 2/2] reorder imports --- airflow/providers/amazon/aws/utils/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/airflow/providers/amazon/aws/utils/__init__.py b/airflow/providers/amazon/aws/utils/__init__.py index bdbcb5f614a97..e04d28869e94e 100644 --- a/airflow/providers/amazon/aws/utils/__init__.py +++ b/airflow/providers/amazon/aws/utils/__init__.py @@ -18,12 +18,11 @@ import logging import re +import sys from datetime import datetime, timezone from enum import Enum from typing import Any -import sys - if sys.version_info >= (3, 10): from importlib import metadata else: