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.0rc2

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.0rc2
File Size Uploaded Provenance Actions
panel_flowdash-0.1.0rc2.tar.gz 511.3 kB With provenance Details for panel_flowdash-0.1.0rc2.tar.gz

Built distribution (wheel)

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

Total release size: 592.3 kB

Release files / panel_flowdash-0.1.0rc2.tar.gz

Download URL panel_flowdash-0.1.0rc2.tar.gz
Size 511.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1e5bcf9f2b239a7566ec20a584db5e00d87efa44446c330e6ab1b9902eb3885e
BLAKE2b-256 checksum
How to use checksums
c44953f9552e29c23da11d76318a2daffaeaffcda5db104eded2ca4fad8130a4
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 30, 2026.

Transparency log

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

Download URL panel_flowdash-0.1.0rc2-py3-none-any.whl
Size 81.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6b3cf455f1480db0e714acf117b96689d0c543f5cb1a0c59ab660d3a72ebe48
BLAKE2b-256 checksum
How to use checksums
5dbc53028b5b01cbb6cf880011c87f10f0dd026af130e464ce057ee5f325938d
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 30, 2026.

Transparency log

Security for panel-flowdash 0.1.0rc2

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for panel_flowdash-0.1.0rc2.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 30, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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