mirror of
https://github.com/apache/superset.git
synced 2026-04-07 18:35:15 +00:00
apache-superset-extensions-cli
Official command-line interface for building, bundling, and managing Apache Superset extensions. This CLI tool provides developers with everything needed to create, develop, and package extensions for the Superset ecosystem.
🚀 Features
- Extension Scaffolding - Generate initial folder structure and scaffold new extension projects
- Development Server - Automatically rebuild extensions as files change during development
- Build System - Build extension assets for production deployment
- Bundle Packaging - Package extensions into distributable .supx files
📦 Installation
pip install apache-superset-extensions-cli
🛠️ Quick Start
Available Commands
# Generate initial folder structure and scaffold a new extension project
superset-extensions init <extension-name>
# Automatically rebuild extension as files change during development
superset-extensions dev
# Build extension assets for production
superset-extensions build
# Package extension into a distributable .supx file
superset-extensions bundle
📋 Extension Structure
The CLI generates extensions with the following structure:
extension_name/
├── extension.json # Extension configuration and metadata
├── frontend/ # Frontend code
│ ├── src/ # TypeScript/React source files
│ ├── webpack.config.js # Frontend build configuration
│ ├── tsconfig.json # TypeScript configuration
│ └── package.json # Frontend dependencies
├── backend/ # Backend code
│ ├── src/
│ │ └── dataset_references/ # Python package source
│ ├── tests/ # Backend tests
│ ├── pyproject.toml # Python package configuration
│ └── requirements.txt # Python dependencies
├── dist/ # Built extension files (generated)
│ ├── manifest.json # Generated extension manifest
│ ├── frontend/
│ │ └── dist/ # Built frontend assets
│ │ ├── remoteEntry.*.js # Module federation entry
│ │ └── *.js # Additional frontend bundles
│ └── backend/
│ └── dataset_references/ # Built backend package
│ ├── __init__.py
│ ├── api.py
│ └── entrypoint.py
├── dataset_references-1.0.0.supx # Packaged extension file (generated)
└── README.md # Extension documentation
🤝 Contributing
We welcome contributions! Please see the Contributing Guide for details.
📄 License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
🔗 Links
Note: This package is currently in early development. APIs and commands may change before the 1.0.0 release. Please check the changelog for breaking changes between versions.