-
Notifications
You must be signed in to change notification settings - Fork 15.5k
chore: Extensions architecture POC #31934
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
chore: Extensions architecture POC #31934
Conversation
Based on your review schedule, I'll hold off on reviewing this PR until it's marked as ready for review. If you'd like me to take a look now, comment
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #31934 +/- ##
===========================================
+ Coverage 0 71.91% +71.91%
===========================================
Files 0 588 +588
Lines 0 42307 +42307
Branches 0 4458 +4458
===========================================
+ Hits 0 30425 +30425
- Misses 0 10712 +10712
- Partials 0 1170 +1170
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
904fbd9
to
871787f
Compare
3cde2af
to
f766cc4
Compare
496c566
to
76a4e83
Compare
superset/migrations/versions/2025-03-07_08-35_d4d5115bdeb0_add_extensions_table.py
Show resolved
Hide resolved
870c262
to
9f0fbc0
Compare
812f875
to
e34b695
Compare
@villebro I'm creating a task list so we can track what we need to do to merge this PR. Feel free to add/edit items:
|
@michael-s-molina I'm wondering if we should actually close this PR and open up new ones with the subsets of changes, cross referencing to this one for context? |
@villebro I prefer the feature branch approach as we can test everything together before merging things to master. Check this comment where I share my thoughts about PR organization. |
This reverts commit dbf8199.
SUMMARY
This PR introduces new packages and functionality for introducing extensions as proposed in SIP #34162. Example extensions that were used for validating the system have been moved to the following draft PR: #34726
This PR introduces the following packages:
superset-frontend/packages/superset-core
Our package with UI components, utility functions, types, and APIs used by extensions.
superset-core
The host APIs used by backend extensions.
superset-cli
CLI commands to build, bundle and hot-rebuild extensions.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
The Dataset references extension displays relevant information for SQL authors in SQL Lab:
Screen.Recording.2025-06-04.at.10.48.32.mov
TESTING INSTRUCTIONS
1 - Set the
ENABLE_EXTENSIONS
feature flag toTrue
.2 - Run
npm ci
onsuperset-frontend
.3 - Install the development dependencies by running
pip install -r requirements/development.txt
. This will pull in the new cli package that contains thesuperset-extensions
command.4 - Bundle an extension by going into its root folder and executing
superset-extensions bundle
. This will build the extension and generate a.supx
bundle of the extension.5 - Upload the
.supx
file to Superset using Swagger and theextensions
endpoint.6 - Go to
SQL
->SQL Lab
and check the extension.For development mode:
1 - Execute steps 1, 2 and 3 above.
2 - Configure Superset's
LOCAL_EXTENSIONS
variable like:3 - Run in development mode by going into the extension root folder and executing
superset-extensions dev
. This will trigger hot-rebuilding of your frontend assets. Backend assets are currently reloaded by the default reloading mechanisms of Superset usingsuperset run --reload
.4 - Go to
SQL
->SQL Lab
and check the extension.ADDITIONAL INFORMATION