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

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.0rc0
File Size Uploaded Provenance
panel_flowdash-0.1.0rc0.tar.gz 477.9 kB With provenance Details

Built distribution (wheel)

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

Total release size: 545.4 kB

Release files / panel_flowdash-0.1.0rc0.tar.gz

Download URL panel_flowdash-0.1.0rc0.tar.gz
Size 477.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7b6595477712b775f3403e3d555ef5bc3382353d5426907211a45659e882e4cb
BLAKE2b-256 checksum
How to use checksums
3ef172942fb18cf84ca986497a59ece8e26377e7a0ef0f239a09ac9008b02ed9
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 Sep 29, 2026.

Transparency log

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

Download URL panel_flowdash-0.1.0rc0-py3-none-any.whl
Size 67.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a5f413c0fa864df8b1ef3383bcf082ca16ad84bf310ac66a7b27944e1ac1751
BLAKE2b-256 checksum
How to use checksums
1fe8cca8ee8cdfac81a0352dd2fa53a09f2f5467f73106417f8342e52646c2b5
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 Sep 29, 2026.

Transparency log

Security for panel-flowdash 0.1.0rc0

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.0rc0.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 Sep 29, 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