This is an automated email from the ASF dual-hosted git repository.
asoare pushed a change to branch alexandrusoare/feat/import_template
in repository https://gitbox.apache.org/repos/asf/superset.git
from 9d2c38603d import new metadata for templates
add cc4a66fccf feat: database analyzer celery job
add f3d7903e5f fix(database-analyzer): fix API to inherit from BaseApi and
add response helper methods
add 8358717854 fix(database-analyzer): fix mypy, pylint, and ruff linting
errors
add 0b8f96df57 feat: migrations
add 7c6624eb82 fix: use actual openrouter
add b91ff3ab0d feat(dashboard): Dashboard Templates Gallery (#36673)
add f86511a956 feat(datasource-connector): add multi-step wizard for
connecting datasources (#36678)
add 7a2d633f2d Merge branch 'supernauts/hackathon2025' into
msyavuz/feat/datasource-analyzer
add 131b7bd4ac refactor: consolidate api endpoints
add 069bb4d500 fix(database-analyzer): handle empty tables in AI
augmentation
add 4eda9b3ae9 fix: migrations
add de916f64d0 fix: e2e test fixes
add aabd7527ae feat: Dashboard Generation (#36737)
add abfe367157 import new metadata for templates
add 869d984d4c adding template_chart and template_dataset
add 9039d6191d Merge branch 'alexandrusoare/feat/import_template' of
https://github.com/apache/superset into alexandrusoare/feat/import_template
No new revisions were added by this update.
Summary of changes:
pyproject.toml | 4 +
requirements/base.txt | 68 +-
requirements/development.txt | 83 +-
.../components/AIInfoBanner/AIInfoBanner.test.tsx | 78 +
.../src/components/AIInfoBanner/index.tsx | 293 +++
.../{ButtonGroup => AIInfoBanner}/types.ts | 17 +-
.../src/components/AsyncProcessPanel/index.tsx | 266 +++
.../types.ts | 18 +-
.../superset-ui-core/src/components/index.ts | 6 +
.../src/components/DatabaseSelector/index.tsx | 22 +-
.../Datasource/DatasourceModal/index.tsx | 26 +-
superset-frontend/src/dashboard/actions/hydrate.js | 3 +-
.../DashboardBuilder/DashboardBuilder.tsx | 46 +-
.../src/dashboard/components/Header/index.jsx | 9 +-
.../components/SliceHeaderControls/index.tsx | 7 +-
.../components/TemplatePreviewHeader/index.tsx | 135 ++
.../FilterBar/FilterBarSettings/index.tsx | 5 +-
.../{util/charts/useChartIds.ts => selectors.ts} | 9 +-
superset-frontend/src/dashboard/types.ts | 8 +
.../components/ExploreChartHeader/index.jsx | 66 +-
.../useExploreAdditionalActionsMenu/index.jsx | 13 +-
superset-frontend/src/features/datasets/types.ts | 1 +
.../src/features/home/DashboardTable.tsx | 3 +-
superset-frontend/src/features/home/EmptyState.tsx | 8 +-
superset-frontend/src/features/home/RightMenu.tsx | 2 +-
superset-frontend/src/hooks/usePolling.ts | 163 ++
.../src/pages/DashboardList/index.tsx | 6 +-
.../DashboardTemplateGallery.tsx | 360 ++++
.../DashboardTemplates/DashboardTemplateTile.tsx | 164 ++
.../pages/DashboardTemplates/constants.ts} | 30 +-
.../src/pages/DashboardTemplates/index.tsx | 110 +
.../DashboardTemplates}/types.ts | 25 +-
superset-frontend/src/pages/DatasetList/index.tsx | 45 +-
.../DatasourceConnector.test.tsx | 239 +++
.../components/ConnectorLayout.tsx | 228 ++
.../components/DashboardGeneratorPanel.tsx | 220 ++
.../components/DataSourcePanel.tsx | 255 +++
.../components/DatabaseSchemaPicker.tsx | 96 +
.../components/DatasourceAnalyzerPanel.tsx | 180 ++
.../components/MappingReviewPanel.tsx | 404 ++++
.../components/PendingReviewPanel.tsx | 142 ++
.../components/ReviewSchemaPanel.tsx | 335 +++
.../hooks/useDatabaseListRefresh.ts} | 21 +-
.../src/pages/DatasourceConnector/index.tsx | 542 +++++
.../src/pages/DatasourceConnector/types.ts | 108 +
superset-frontend/src/types/Chart.ts | 1 +
superset-frontend/src/views/routes.tsx | 26 +
superset/charts/schemas.py | 5 +
superset/commands/chart/delete.py | 7 +
superset/commands/chart/exceptions.py | 8 +
superset/commands/chart/update.py | 5 +
superset/commands/dashboard/delete.py | 7 +
superset/commands/dashboard/exceptions.py | 8 +
.../commands/dashboard/importers/v1/__init__.py | 32 +
superset/commands/dashboard/update.py | 6 +
superset/commands/dashboard_generator/__init__.py | 87 +
.../dashboard_generator/agentic_generator.py | 2214 ++++++++++++++++++++
superset/commands/dashboard_generator/generate.py | 110 +
.../commands/dashboard_generator/llm_service.py | 1042 +++++++++
.../dashboard_generator/mapping_service.py | 562 +++++
.../dashboard_generator/template_analyzer.py | 355 ++++
superset/commands/dashboard_generator/utils.py | 112 +
superset/commands/dashboard_generator/validator.py | 314 +++
.../commands/database_analyzer}/__init__.py | 2 +-
superset/commands/database_analyzer/analyze.py | 497 +++++
superset/commands/database_analyzer/llm_service.py | 309 +++
superset/commands/dataset/delete.py | 7 +
superset/commands/dataset/exceptions.py | 8 +
superset/commands/dataset/update.py | 5 +
superset/config.py | 2 +
superset/config_llm.py | 333 +++
superset/connectors/sqla/models.py | 1 +
superset/daos/dashboard.py | 64 +-
.../dashboard_generator}/__init__.py | 0
superset/dashboard_generator/api.py | 406 ++++
superset/dashboard_generator/exceptions.py | 109 +
superset/dashboard_generator/schemas.py | 185 ++
superset/dashboards/api.py | 74 +
superset/dashboards/schemas.py | 25 +
superset/databases/analyzer_api.py | 414 ++++
superset/datasets/api.py | 2 +
superset/initialization/__init__.py | 6 +
superset/llm/__init__.py | 62 +
superset/llm/base.py | 572 +++++
...aca38be72f2_add_is_template_chart_to_slices.py} | 40 +-
..._07-54_c95466b0_add_database_analyzer_models.py | 347 +++
...32c8dbc11_merge_database_analyzer_and_main_.py} | 15 +-
...-00_b8f2a1c3d4e5_add_dashboard_generator_run.py | 164 ++
.../2025-12-18_11-00_add_pending_review_status.py | 50 +
superset/models/dashboard_generator.py | 135 ++
superset/models/database_analyzer.py | 290 +++
superset/models/slice.py | 1 +
superset/security/manager.py | 64 +-
superset/tasks/celery_app.py | 2 +-
superset/tasks/dashboard_generator.py | 258 +++
superset/tasks/database_analyzer.py | 249 +++
superset/views/dashboard/views.py | 6 +
superset/views/datasource_connector.py | 66 +
.../unit_tests/commands/test_database_analyzer.py | 166 ++
99 files changed, 14559 insertions(+), 147 deletions(-)
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/AIInfoBanner/AIInfoBanner.test.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/AIInfoBanner/index.tsx
copy superset-frontend/packages/superset-ui-core/src/components/{ButtonGroup
=> AIInfoBanner}/types.ts (64%)
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/AsyncProcessPanel/index.tsx
copy
superset-frontend/packages/superset-ui-core/src/components/{ConfirmStatusChange
=> AsyncProcessPanel}/types.ts (74%)
create mode 100644
superset-frontend/src/dashboard/components/TemplatePreviewHeader/index.tsx
copy superset-frontend/src/dashboard/{util/charts/useChartIds.ts =>
selectors.ts} (77%)
create mode 100644 superset-frontend/src/hooks/usePolling.ts
create mode 100644
superset-frontend/src/pages/DashboardTemplates/DashboardTemplateGallery.tsx
create mode 100644
superset-frontend/src/pages/DashboardTemplates/DashboardTemplateTile.tsx
copy
superset-frontend/{plugins/legacy-preset-chart-deckgl/src/utilities/sharedDndControls.tsx
=> src/pages/DashboardTemplates/constants.ts} (63%)
create mode 100644 superset-frontend/src/pages/DashboardTemplates/index.tsx
copy superset-frontend/src/{features/dashboards =>
pages/DashboardTemplates}/types.ts (63%)
create mode 100644
superset-frontend/src/pages/DatasourceConnector/DatasourceConnector.test.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/ConnectorLayout.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/DashboardGeneratorPanel.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/DataSourcePanel.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/DatabaseSchemaPicker.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/DatasourceAnalyzerPanel.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/MappingReviewPanel.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/PendingReviewPanel.tsx
create mode 100644
superset-frontend/src/pages/DatasourceConnector/components/ReviewSchemaPanel.tsx
copy
superset-frontend/{plugins/plugin-chart-handlebars/src/plugin/transformProps.ts
=> src/pages/DatasourceConnector/hooks/useDatabaseListRefresh.ts} (67%)
create mode 100644 superset-frontend/src/pages/DatasourceConnector/index.tsx
create mode 100644 superset-frontend/src/pages/DatasourceConnector/types.ts
create mode 100644 superset/commands/dashboard_generator/__init__.py
create mode 100644 superset/commands/dashboard_generator/agentic_generator.py
create mode 100644 superset/commands/dashboard_generator/generate.py
create mode 100644 superset/commands/dashboard_generator/llm_service.py
create mode 100644 superset/commands/dashboard_generator/mapping_service.py
create mode 100644 superset/commands/dashboard_generator/template_analyzer.py
create mode 100644 superset/commands/dashboard_generator/utils.py
create mode 100644 superset/commands/dashboard_generator/validator.py
copy {superset-extensions-cli/tests =>
superset/commands/database_analyzer}/__init__.py (97%)
create mode 100644 superset/commands/database_analyzer/analyze.py
create mode 100644 superset/commands/database_analyzer/llm_service.py
create mode 100644 superset/config_llm.py
copy {superset-core/src/superset_core/api =>
superset/dashboard_generator}/__init__.py (100%)
create mode 100644 superset/dashboard_generator/api.py
create mode 100644 superset/dashboard_generator/exceptions.py
create mode 100644 superset/dashboard_generator/schemas.py
create mode 100644 superset/databases/analyzer_api.py
create mode 100644 superset/llm/__init__.py
create mode 100644 superset/llm/base.py
copy
superset/migrations/versions/{2021-11-03_14-07_f9847149153d_add_certifications_columns_to_slice.py
=> 2025-12-16_12-00_aaca38be72f2_add_is_template_chart_to_slices.py} (54%)
create mode 100644
superset/migrations/versions/2025-12-17_07-54_c95466b0_add_database_analyzer_models.py
copy superset/migrations/versions/{2018-12-18_22-45_de021a1ca60d_.py =>
2025-12-17_18-01_4a032c8dbc11_merge_database_analyzer_and_main_.py} (76%)
create mode 100644
superset/migrations/versions/2025-12-17_20-00_b8f2a1c3d4e5_add_dashboard_generator_run.py
create mode 100644
superset/migrations/versions/2025-12-18_11-00_add_pending_review_status.py
create mode 100644 superset/models/dashboard_generator.py
create mode 100644 superset/models/database_analyzer.py
create mode 100644 superset/tasks/dashboard_generator.py
create mode 100644 superset/tasks/database_analyzer.py
create mode 100644 superset/views/datasource_connector.py
create mode 100644 tests/unit_tests/commands/test_database_analyzer.py