Apache Superset's extension system enables organizations to build custom features without modifying the core codebase. Inspired by the VS Code extension model, this architecture addresses a long-standing challenge: teams previously had to fork Superset or make invasive modifications to add capabilities like query optimizers, custom panels, or specialized integrations—resulting in maintenance overhead and codebase fragmentation.
The extension system introduces a modular, plugin-based architecture where both built-in features and external extensions use the same well-defined APIs. This “lean core” approach ensures that any capability available to Superset's internal features is equally accessible to community-developed extensions, fostering a vibrant ecosystem while reducing the maintenance burden on core contributors.
Superset extensions are self-contained .supx packages that extend the platform's capabilities through standardized contribution points. Each extension can include both frontend (React/TypeScript) and backend (Python) components, bundled together and loaded dynamically at runtime using Webpack Module Federation.
Extensions can provide:
/extensions/ namespaceExtension developers have access to pre-built UI components via @apache-superset/core/components. Browse all available components on the UI Components page and filter by Extension Compatible to see components available to extensions.