Commit Graph

13 Commits

Author SHA1 Message Date
Maxime Beauchemin
48d8c91b19 feat: migrate examples from Python to YAML format with enhanced CLI
Migrates Superset's example data system from Python-based scripts to YAML configuration files, providing a cleaner, more maintainable approach to managing example datasets, charts, and dashboards.

- Converted 9 Python example modules to YAML configurations
- Exported existing examples from database and added as YAML files:
  - 11 dashboards (USA Births Names, World Bank's Data, etc.)
  - 115 charts
  - 25 datasets
- Moved test-specific fixtures to `tests/fixtures/examples/`
- Removed theme_id from dashboard exports for compatibility

- **New command group**: `superset examples` with subcommands:
  - `load` - Load example data (replaces `load-examples`)
  - `clear-old` - Remove old Python-based examples
  - `clear` - Placeholder for future YAML clearing
  - `reload` - Clear and reload in one command
- **Backwards compatibility**: `superset load-examples` still works with deprecation warning
- **Safety mechanism**: Detects old examples and preserves them to avoid data loss

- Fixed JSON data loading - examples can now load `.json.gz` files from CDN
- Fixed Docker compose configuration for isolated development
- Fixed webpack WebSocket configuration for different ports

- Import operations now log what's being created vs updated:
  - "Creating new dashboard: Sales Dashboard"
  - "Updating existing chart: World's Population"
- Provides clear visibility into the import process

- Moved import logging to individual import functions (DRY principle)
- Non-destructive migration approach - no user data is deleted
- Deterministic UUID generation for consistent example data

- Tested migration from old Python examples to new YAML format
- Verified safety mechanism prevents accidental data overwrites
- Confirmed backwards compatibility with deprecated command
- All pre-commit checks pass

- Updated installation docs to use new CLI commands
- Added deprecation notice to UPDATING.md
- Updated development documentation

None - the old `load-examples` command continues to work with a deprecation warning.

For users with existing Python-based examples:
1. Run `superset examples clear-old --confirm` to remove old examples
2. Run `superset examples load` to load new YAML-based examples
2025-07-29 22:23:52 -07:00
Maxime Beauchemin
604d72cc98 feat: introducing a docker-compose-light.yml for lighter development (#34324) 2025-07-28 09:27:07 -07:00
Đỗ Trọng Hải
f6f9582186 fix(docs|build): revert docker-compose files rename (#33883) 2025-06-24 22:49:58 +07:00
Vladislav Polyakov
a23a4ed054 refactor: rename docker-compose files and update references (#33790)
Signed-off-by: Vladislav Polyakov <polRk@ydb.tech>
2025-06-20 12:00:34 -07:00
Denodo Research Labs
5541dad32b fix(compose): environment entries in compose*.yml override values in docker/.env (#33700) 2025-06-06 14:24:26 -07:00
RealGreenDragon
85d51f5c9a chore: bump postgresql from 15 to 16 (#32597) 2025-03-11 15:26:26 -07:00
Maxime Beauchemin
7bd53a84d5 feat: improve docker-compose services boot sequence (#31747) 2025-01-09 16:24:53 -08:00
Maxime Beauchemin
34e240ef0e docs: document how docker-compose-image-tag requires -dev suffixed images (#30144)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-09-04 09:31:16 -07:00
Evan Rusackas
4fe3000275 chore(docs): docker instructions use docker compose instead of the deprecated docker-compose (#30030) 2024-08-29 16:42:53 -06:00
Daniel Vaz Gaspar
594e5a50a3 docs: add more warnings for default secrets and docker-compose (#27921)
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
2024-04-16 17:02:11 -06:00
Maxime Beauchemin
0c12369084 fix: support docker/.env-local for docker-compose (#28039) 2024-04-15 10:23:32 -07:00
Maxime Beauchemin
40e77be813 feat: optimize docker-compose up for faster boot time (#27953) 2024-04-12 16:07:49 -07:00
Maxime Beauchemin
b1adede1ee feat: docker-compose to work off repo Dockerfile (#27434) 2024-03-11 13:15:02 -07:00