Skip to content

Build Dataflow Dashboards in Python

panel-flowdash is a framework for building visual, dataflow-driven dashboards with Panel. Define components with typed ports, wire them together, and persist layouts to SQLite.

The FlowDash wiring canvas with components connected by typed ports

Quick Demo

New to FlowDash? Try the quickstart →

Why FlowDash?

  • Component-first architecture: define reusable building blocks with @register or as Viewer subclasses.
  • Typed dataflow: ports carry type information for compile-time and runtime validation.
  • Visual wiring: connect components in a node editor, with cycle detection and single-source enforcement.
  • Persistence: dashboard layouts, edges, and grid positions are stored in SQLite.
  • One command to serve: flowdash serve my_project/ scans, registers, and launches.

Quickstart

from panel_flowdash import register

@register(component=True, provides=[{"key": "ticker", "type": "str"}])
def app(config):
    import panel_material_ui as pmui
    return pmui.Select(name="Ticker", options=["AAPL", "GOOG", "MSFT"])
flowdash serve my_project/ --port 5006

How-to guides

Examples

Reference