Deployment
Once an extension has been developed, the deployment process involves packaging and uploading it to the host application.
Packaging is handled by the superset-extensions bundle command, which:
- Builds frontend assets using Webpack (with Module Federation configuration).
- Collects backend Python source files and all necessary resources.
- Generates a
manifest.jsonwith build-time metadata, including the contents ofextension.jsonand references to built assets. - Packages everything into a
.supxfile (a zip archive with a specific structure required by Superset).
To deploy an extension, place the .supx file in the extensions directory configured via EXTENSIONS_PATH in your superset_config.py:
EXTENSIONS_PATH = "/path/to/extensions"
During application startup, Superset automatically discovers and loads all .supx files from this directory:
- Scans the configured directory for
.supxfiles. - Validates each file is a properly formatted zip archive.
- Extracts and validates the extension manifest and metadata.
- Loads the extension, making it available for use.
This file-based approach simplifies deployment in containerized environments and enables version control of extensions alongside infrastructure configuration.