Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

panel-flowdash

CI conda-forge pypi-version python-version

A dataflow-driven dashboard builder for Panel. Define reusable components with typed input/output ports, wire them together visually, and persist layouts to SQLite.

Features

  • Component registry with the @register decorator for metadata-driven discovery
  • Typed ports with automatic introspection from param.output decorators and Viewer params
  • Dataflow engine with cycle detection, type checking, single-source-per-input validation, and runtime error reporting
  • SQLite persistence for dashboard layouts, edges, and tile configurations
  • CLI (flowdash serve) to launch a project directory as a full dashboard app
  • Embeddable editor (FlowDash) for using the canvas and layout editor inside your own Panel app

Installation

pip install panel-flowdash

Quickstart

Create a project directory with component modules:

my_project/
    Analytics/
        selector.py
        chart.py

Define components with typed ports:

# Analytics/selector.py
from panel_flowdash import register

@register(component=True, provides=[{"key": "company", "type": "str"}])
def app(config):
    import panel_material_ui as pmui
    return pmui.Select(name="Company", options=["ACME", "Globex"])
# Analytics/chart.py
from panel_flowdash import register

@register(component=True, requires=[{"key": "company", "type": "str"}])
def app(config):
    import panel as pn
    return pn.pane.Markdown(f"# Chart for {config.get('company', '...')}")

Serve it:

flowdash serve my_project/

Using Viewer classes

Components can also be Panel Viewer subclasses. Ports are introspected automatically from params and @param.output decorators:

import param
import panel as pn
from panel_flowdash import register

@register(component=True)
class StockFilter(pn.viewable.Viewer):
    ticker = param.String(default="AAPL")

    @param.output(param.DataFrame)
    def filtered_data(self):
        ...

    def __panel__(self):
        return pn.widgets.TextInput.from_param(self.param.ticker)

Embedding the editor

The project-directory workflow is optional. FlowDash is the editor on its own, without the routing, pages and navigation that flowdash serve layers on top:

from panel_flowdash import FlowDash

editor = FlowDash([selector, chart], store="dashboards.db")

src = editor.add_component("Analytics/selector")
dst = editor.add_component("Analytics/chart")
editor.connect(src, "company", dst, "company")

editor.servable()

Components can be passed as decorated functions, Viewer subclasses, a mapping of explicit ids, a project directory, or any mix. See Embed the Editor for building dashboards in code, persistence, and read-only viewers.

CLI

flowdash serve <project-dir> [options]
Option Description
--port Port to serve on (default: 5006)
--db-path SQLite database path (default: <project-dir>/dashboards.db)
--title Browser tab title
--dev Enable autoreload
--admin Enable Panel admin interface

Run flowdash serve --help for the full list.

Development

git clone https://github.com/panel-extensions/panel-flowdash
cd panel-flowdash
pip install -e ".[dev]"
pytest tests

Contributing

Contributions are welcome! Please fork the repository, create a feature branch, and open a pull request.

Metadata

Release files for panel-flowdash 0.1.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for panel-flowdash 0.1.0rc1
File Size Uploaded Provenance
panel_flowdash-0.1.0rc1.tar.gz 499.3 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for panel-flowdash 0.1.0rc1
File Interpreter ABI Platform
panel_flowdash-0.1.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 576.6 kB

Release files / panel_flowdash-0.1.0rc1.tar.gz

Download URL panel_flowdash-0.1.0rc1.tar.gz
Size 499.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e90d1a7e452bc11dbe83b6e0c48c05dcdc93e4e38e6d1f5781e1c5891a720291
BLAKE2b-256 checksum
How to use checksums
57ee92d066a655fdd07d5895581f952714a11973b0a924e78477880173d7e5d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / panel_flowdash-0.1.0rc1-py3-none-any.whl

Download URL panel_flowdash-0.1.0rc1-py3-none-any.whl
Size 77.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bca2c77e54a9aec60c614d80b555286fad6bb02328a86726cded0e5b2ec4d735
BLAKE2b-256 checksum
How to use checksums
971c12f86f70a63919519ebc0843cad67ebe6f2c9872216d497c1c04fe6d1d0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Security for panel-flowdash 0.1.0rc1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for panel_flowdash-0.1.0rc1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page