From 3c12bccce22127191c9e802ff0f85e0e3afeff8b Mon Sep 17 00:00:00 2001 From: noklam Date: Wed, 18 May 2022 17:32:53 +0100 Subject: [PATCH] Add conditional import to fix importlib not available in python 3.7 Signed-off-by: noklam --- kedro/framework/cli/utils.py | 3 ++- kedro/utils.py | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/kedro/framework/cli/utils.py b/kedro/framework/cli/utils.py index c6dac00fd7..d32a0593c8 100644 --- a/kedro/framework/cli/utils.py +++ b/kedro/framework/cli/utils.py @@ -17,7 +17,8 @@ from typing import Any, Dict, Iterable, List, Mapping, Sequence, Set, Tuple, Union import click -import importlib_metadata + +from kedro.utils import importlib_metadata CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"]) MAX_SUGGESTIONS = 3 diff --git a/kedro/utils.py b/kedro/utils.py index 4c57b79114..e7a271f4ce 100644 --- a/kedro/utils.py +++ b/kedro/utils.py @@ -2,8 +2,17 @@ of kedro package. """ import importlib +import sys from typing import Any +# backward compatiblity +if sys.version_info >= (3, 8): + from importlib import ( # noqa: F401 # pylint: disable=unused-import, + metadata as importlib_metadata, + ) +else: + import importlib_metadata # noqa: F401 # pylint: disable=unused-import + def load_obj(obj_path: str, default_obj_path: str = "") -> Any: """Extract an object from a given path.