Skip to main content

Official command-line interface for building, bundling, and managing Apache Superset extensions

Project description

apache-superset-extensions-cli

PyPI version License Python 3.10+

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apache_superset_extensions_cli-0.0.1rc2.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file apache_superset_extensions_cli-0.0.1rc2.tar.gz.

File metadata

File hashes

Hashes for apache_superset_extensions_cli-0.0.1rc2.tar.gz
Algorithm Hash digest
SHA256 90a08994c79bee466833c6ff9b5e74a2402fe3f21be0a306e9b7b11db3386f5c
MD5 ff6f2766fe5b96cd6223eff730e4307e
BLAKE2b-256 353eda3da2119a0310dde06d69f95c6df4237219afb6673580ef38ff3bf2861a

See more details on using hashes here.

File details

Details for the file apache_superset_extensions_cli-0.0.1rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for apache_superset_extensions_cli-0.0.1rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 dccd1383cf28eaaac7ea4a34869ce69550e92983aadc8d6743642dcf4c384116
MD5 f9b9ee075560de3cc6b54cc97ac95e6a
BLAKE2b-256 ae57f3626135992e11694ee6ad7d2ab80ce46794689b0b4f056dcde071d5dbd9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page