Overview
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.
What are Superset Extensions?
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.
Extension Capabilities
Extensions can provide:
- Custom UI Components: New panels, views, and interactive elements
- Commands and Menus: Custom actions accessible via menus and keyboard shortcuts
- REST API Endpoints: Backend services under the
/api/v1/extensions/namespace - MCP Tools and Prompts: AI agent capabilities for enhanced user assistance
Next Steps
- Quick Start - Build your first extension with a complete walkthrough
- Architecture - Design principles and system overview
- Contribution Types - Available extension points
- Development - Project structure, APIs, and development workflow
- Deployment - Packaging and deploying extensions
- MCP Integration - Adding AI agent capabilities using extensions
- Security - Security considerations and best practices