Plasma

Apache Superset Agent Automation Framework

Automate dashboard creation through REST API

🎯 Overview

Plasma is a framework for programmatic management of Apache Superset through REST API. Instead of manual UI clicks, agents automatically:

  • Load data (CSV, JSON, SQL)
  • Register datasets
  • Create visualizations (charts)
  • Assemble dashboards
  • Publish and manage access

✨ Key Features

🔌 REST API Client

Full-featured SupersetClient with automatic token refresh, retry logic, and comprehensive error handling.

📊 Data Loading

Support for CSV, JSON, Parquet, Excel. Automatic type detection and data validation.

🎨 Visualization Templates

Pre-built templates for bar, line, pie, table, scatter, heatmap, and KPI charts.

📐 Schema Builder

Configure column properties, create virtual metrics, and build calculated columns.

🧩 Dashboard Composer

Intelligent layout management, filter linking, and responsive design patterns.

🤖 Agent Orchestrator

High-level API for end-to-end workflow automation with OpenClaw integration.

🚀 Quick Start

1. Installation

pip install -r requirements.txt

2. Configuration

cp .env.example .env # Edit .env with your Superset credentials

3. Create Dashboard from CSV

from src.agent import PlasmaAgent agent = PlasmaAgent() dashboard = agent.create_dashboard_from_csv( csv_file="data/sales.csv", dashboard_name="Sales Dashboard", database_id=1, publish=True )

🏗️ Architecture

Plasma Framework ├── API Client (superset_client.py) │ ├── Authentication (JWT tokens) │ ├── Database management │ ├── Dataset CRUD │ ├── Chart CRUD │ └── Dashboard CRUD ├── Data Loader (data_loader.py) │ ├── CSV/JSON parser │ ├── SQL query executor │ └── Data validation ├── Schema Builder (schema_builder.py) │ ├── Column type detection │ ├── Metric definitions │ └── Filter configuration ├── Visualization Templates (viz_templates.py) │ ├── Time series │ ├── Bar charts │ ├── Pie charts │ └── Custom viz configs ├── Dashboard Composer (dashboard_composer.py) │ ├── Layout grid management │ ├── Filter linking │ └── Responsive design └── Agent Orchestrator (agent.py) ├── Workflow automation ├── Error handling └── Logging & monitoring

📚 Documentation

CONCEPT.md

Full architecture, workflow, glossary, best practices, and implementation phases.

API_REFERENCE.md

Complete API documentation with examples for all modules and methods.

Examples

Working examples: simple_dashboard.py, kpi_dashboard.py, time_series_dashboard.py

🔄 Typical Workflow

Phase 1: Preparation ├── Connect to Superset ├── Prepare data (CSV/JSON/SQL) └── Validate structure Phase 2: Dataset Registration ├── Create dataset in Superset ├── Configure column properties └── Define metrics Phase 3: Visualization Creation ├── Create charts (bar, line, pie, etc.) ├── Configure dimensions & metrics └── Set filters & sorting Phase 4: Dashboard Assembly ├── Create dashboard ├── Add charts with layout ├── Link filters └── Publish

📖 Key Terms

Dataset

Table or SQL query registered in Superset for analysis.

Dimension

Categorical column for grouping (not aggregated).

Metric

Numeric column for aggregation (SUM, COUNT, AVG).

Chart (Slice)

Visualization of one dataset with specific configuration.

Dashboard

Collection of charts on one page with filters.

Native Filter

Dashboard-level filter linking multiple charts.

🔗 Resources

📊 Project Status

Version: 0.1 (Concept) MVP Phase

Phases:

  • Phase 1: MVP (Basic API client, CSV loading, simple charts)
  • Phase 2: Expansion (All viz types, native filters, metrics)
  • Phase 3: Automation (OpenClaw skill, YAML configs, versioning)
  • Phase 4: Optimization (Caching, performance, documentation)