From f1b003f109017082b8b457fa8a3e28a8998e9c56 Mon Sep 17 00:00:00 2001 From: cwegener Date: Wed, 28 Jun 2023 22:25:50 +0000 Subject: [PATCH] refactor: pkg_resources -> importlib.metadata (#24514) --- requirements/base.txt | 4 +++- setup.py | 1 + superset/db_engine_specs/__init__.py | 6 +++--- tests/unit_tests/db_engine_specs/test_init.py | 1 - 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index aace7b51361a9..f9b82ab2708f9 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -135,7 +135,9 @@ humanize==3.11.0 idna==3.2 # via email-validator importlib-metadata==6.6.0 - # via flask + # via + # apache-superset + # flask importlib-resources==5.12.0 # via limits isodate==0.6.0 diff --git a/setup.py b/setup.py index a4a655d3643cf..5bd67ca0c2a3e 100644 --- a/setup.py +++ b/setup.py @@ -94,6 +94,7 @@ def get_git_sha() -> str: "hashids>=1.3.1, <2", "holidays>=0.23, <0.24", "humanize", + "importlib_metadata", "isodate", "Mako>=1.2.2", "markdown>=3.0", diff --git a/superset/db_engine_specs/__init__.py b/superset/db_engine_specs/__init__.py index 20cdfcc51f8f1..16f44ade7ac8f 100644 --- a/superset/db_engine_specs/__init__.py +++ b/superset/db_engine_specs/__init__.py @@ -37,7 +37,7 @@ import sqlalchemy.databases import sqlalchemy.dialects -from pkg_resources import iter_entry_points +from importlib_metadata import entry_points from sqlalchemy.engine.default import DefaultDialect from sqlalchemy.engine.url import URL @@ -74,7 +74,7 @@ def load_engine_specs() -> list[type[BaseEngineSpec]]: if is_engine_spec(getattr(module, attr)) ) # load additional engines from external modules - for ep in iter_entry_points("superset.db_engine_specs"): + for ep in entry_points(group="superset.db_engine_specs"): try: engine_spec = ep.load() except Exception: # pylint: disable=broad-except @@ -150,7 +150,7 @@ def get_available_engine_specs() -> dict[type[BaseEngineSpec], set[str]]: drivers[attr].add(attribute.dialect.driver) # installed 3rd-party dialects - for ep in iter_entry_points("sqlalchemy.dialects"): + for ep in entry_points(group="sqlalchemy.dialects"): try: dialect = ep.load() except Exception as ex: # pylint: disable=broad-except diff --git a/tests/unit_tests/db_engine_specs/test_init.py b/tests/unit_tests/db_engine_specs/test_init.py index 3189256c70f12..fc75694c0802f 100644 --- a/tests/unit_tests/db_engine_specs/test_init.py +++ b/tests/unit_tests/db_engine_specs/test_init.py @@ -17,7 +17,6 @@ import pytest -from pkg_resources import EntryPoint from pytest_mock import MockFixture from superset.db_engine_specs import get_available_engine_specs