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 3596ef304e9e0d80982fd9814f6d3061eac6dc13
Author: Beto Dealmeida <[email protected]>
AuthorDate: Tue Jan 27 15:18:52 2026 -0500

    More extensions
---
 docker-compose-light.yml                               |   1 +
 docker/pythonpath_dev/superset_config.py               |   5 +++++
 extensions/requirements-snowflake.txt                  |   5 +++++
 .../superset-snowflake-semantic-layer-1.0.0.supx       | Bin 0 -> 14159 bytes
 superset-snowflake-semantic-layer/README.md            |  17 +++++++++++++----
 5 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/docker-compose-light.yml b/docker-compose-light.yml
index b06be681af3..d5691e930e3 100644
--- a/docker-compose-light.yml
+++ b/docker-compose-light.yml
@@ -67,6 +67,7 @@ x-superset-volumes: &superset-volumes
   - ./superset-frontend:/app/superset-frontend
   - superset_home_light:/app/superset_home
   - ./tests:/app/tests
+  - ./extensions:/app/extensions
 x-common-build: &common-build
   context: .
   target: ${SUPERSET_BUILD_TARGET:-dev} # can use `dev` (default) or `lean`
diff --git a/docker/pythonpath_dev/superset_config.py 
b/docker/pythonpath_dev/superset_config.py
index d88d9899c27..ba1477fb9c9 100644
--- a/docker/pythonpath_dev/superset_config.py
+++ b/docker/pythonpath_dev/superset_config.py
@@ -105,6 +105,11 @@ class CeleryConfig:
 
 CELERY_CONFIG = CeleryConfig
 
+# Extensions configuration
+# For local development, point to the extensions directory
+# 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}
 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
diff --git a/extensions/requirements-snowflake.txt 
b/extensions/requirements-snowflake.txt
new file mode 100644
index 00000000000..adc12687b47
--- /dev/null
+++ b/extensions/requirements-snowflake.txt
@@ -0,0 +1,5 @@
+# Requirements for the Snowflake Semantic Layer extension
+# Install with: pip install -r extensions/requirements-snowflake.txt
+
+snowflake-connector-python>=3.0.0
+snowflake-sqlalchemy>=1.5.0
diff --git a/extensions/superset-snowflake-semantic-layer-1.0.0.supx 
b/extensions/superset-snowflake-semantic-layer-1.0.0.supx
new file mode 100644
index 00000000000..e256ac61ebf
Binary files /dev/null and 
b/extensions/superset-snowflake-semantic-layer-1.0.0.supx differ
diff --git a/superset-snowflake-semantic-layer/README.md 
b/superset-snowflake-semantic-layer/README.md
index 7c1a5c2c45d..279fdd5987f 100644
--- a/superset-snowflake-semantic-layer/README.md
+++ b/superset-snowflake-semantic-layer/README.md
@@ -4,28 +4,37 @@ This extension adds support for Snowflake Semantic Views to 
Apache Superset.
 
 ## Installation
 
-### As a pip package
+### As a pip package (recommended for production)
 
 ```bash
 pip install superset-snowflake-semantic-layer
 ```
 
+This automatically installs all required dependencies.
+
 ### As a Superset extension (.supx bundle)
 
-1. Build the extension bundle:
+1. **Install dependencies** (the .supx bundle doesn't include pip packages):
+   ```bash
+   pip install snowflake-connector-python>=3.0.0 snowflake-sqlalchemy>=1.5.0
+   ```
+
+2. Build the extension bundle:
    ```bash
    cd superset-snowflake-semantic-layer
    superset-extensions bundle
    ```
 
-2. Copy the generated `.supx` file to your Superset extensions directory.
+3. Copy the generated `.supx` file to your Superset extensions directory.
 
-3. Configure Superset to load extensions:
+4. Configure Superset to load extensions:
    ```python
    # superset_config.py
    EXTENSIONS_PATH = "/path/to/extensions"
    ```
 
+5. Restart Superset.
+
 ## Configuration
 
 When adding a Snowflake Semantic Layer in Superset, you'll need to provide:

Reply via email to