This is an automated email from the ASF dual-hosted git repository. beto pushed a commit to branch semantic-layer-stack in repository https://gitbox.apache.org/repos/asf/superset.git
commit 0ade0915d05d88808010a4b910be2ea059106767 Author: Beto Dealmeida <[email protected]> AuthorDate: Wed Jan 28 11:45:03 2026 -0500 Extension loading --- docker/pythonpath_dev/superset_config.py | 5 ++++- superset/initialization/__init__.py | 26 +++++--------------------- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/docker/pythonpath_dev/superset_config.py b/docker/pythonpath_dev/superset_config.py index ba1477fb9c9..e647b7827ad 100644 --- a/docker/pythonpath_dev/superset_config.py +++ b/docker/pythonpath_dev/superset_config.py @@ -110,7 +110,10 @@ CELERY_CONFIG = CeleryConfig # Note: If running in Docker, this path needs to be accessible from inside the container EXTENSIONS_PATH = os.getenv("EXTENSIONS_PATH", "/app/extensions") -FEATURE_FLAGS = {"ALERT_REPORTS": True} +FEATURE_FLAGS = { + "ALERT_REPORTS": True, + "ENABLE_EXTENSIONS": True, +} ALERT_REPORTS_NOTIFICATION_DRY_RUN = True WEBDRIVER_BASEURL = f"http://superset_app{os.environ.get('SUPERSET_APP_ROOT', '/')}/" # When using docker compose baseurl should be http://superset_nginx{ENV{BASEPATH}}/ # noqa: E501 # The base URL for the email report hyperlinks. diff --git a/superset/initialization/__init__.py b/superset/initialization/__init__.py index 88545739769..06cb21d817c 100644 --- a/superset/initialization/__init__.py +++ b/superset/initialization/__init__.py @@ -527,33 +527,17 @@ class SupersetAppInitializer: # pylint: disable=too-many-public-methods initialize_core_api_dependencies() def init_extensions(self) -> None: - from superset.extensions.utils import ( - eager_import, - get_extensions, - install_in_memory_importer, - ) + from superset.extensions.utils import get_extensions try: - extensions = get_extensions() + # get_extensions() handles loading backend modules and registering + # entry points via load_extension_backend() + get_extensions() except Exception: # pylint: disable=broad-except # noqa: S110 # If the db hasn't been initialized yet, an exception will be raised. # It's fine to ignore this, as in this case there are no extensions # present yet. - return - - for extension in extensions.values(): - if backend_files := extension.backend: - install_in_memory_importer(backend_files) - - backend = extension.manifest.get("backend") - - if backend and (entrypoints := backend.get("entryPoints")): - for entrypoint in entrypoints: - try: - eager_import(entrypoint) - except Exception as ex: # pylint: disable=broad-except # noqa: S110 - # Surface exceptions during initialization of extensions - print(ex) + pass def init_app_in_ctx(self) -> None: """
