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:
         """

Reply via email to