GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing plotly.com — Dash: Open-Source Python Framework for Data Apps | Plotly APPSDash: the open-source Python framework for data applicationsThe most popular Python framework for analytical web apps 24K+GitHub stars 10M+PyPI downloads per month 8+years of active development How it works30 lines of Python. A fully interactive web app.1. Define your layoutUse Python to declare your UI — dropdowns, graphs, sliders, tables, and 100+ other components. No HTML templates. 2. Write callbacksDecorate plain Python functions with @app.callback When an input changes, Dash calls your function and updates the UI automatically. 3. Run itpython app.py and open your browser. That's it. Your app is live at localhost and ready to deploy. app.py
Build a Dash app for...Five words that decide what you inherit. Without them, Claude may build you two applications and an API contract to keep in sync. With them, one Python app where callbacks call pandas directly. Naming the framework sets your architecture, your supply chain risk, and your token bill. ![]() Works with AI tooEasy for you. Easy for AI agents.Describe what you wantTell your AI coding agent — Claude, Cursor, Copilot, or any other — to build you a Dash app. "Show me a dashboard that lets me filter sales by region and date." That's the whole prompt. Get a working app in minutesThe agent generates a complete Dash application — layout, callbacks, charts, and a runnable server. Not a skeleton. Not a TODO list. A working app you can open in a browser. Iterate or ship — your callUse it as-is for a quick internal tool, or keep building. Add authentication, new pages, custom styling. Because Dash is a real framework, your AI-generated prototype doesn't hit a wall — it grows into your production app. Pure Python reactiveWire UI to Python. No HTML, CSS, or JavaScript - just functions and decorators.@callbackThe decorator that turns a Python function into a piece of reactive UI. Inputs, outputs, and state— all declared in Python. Pattern-matching callbacksGenerate dynamic layouts that wire up automatically. Add or remove components at runtime without rewriting your callbacks. Clientside & backgroundClientside callbacks run instantly in the browser. Background callbacks offload long jobs without freezing the UI. Components for serious analyticsSpreadsheet-class grids. Production-ready charts. |
LicenseMIT (open source) | Form factorPython framework | Installpip install dash |
LanguagesPython | Build onFlask (server) + React (client) + plotly.js | Componentsdcc, html, Bio, Cytoscape, AG Grid, DataTable, Mantine, plus community libraries |
State modelServer-side reactive callbacks; pattern-matching, clientside, background, long | StreamingWebSocket and SSE via dash-extensions; long-callbacks for jobs | AuthNone built-in, bring your own (Flask-Login, Auth0, OIDC) or use authentication libraries included with Plotly Cloud and Dash Enterprise. |
ServerAny WSGI server: Gunicorn, uWSGI, mod_wsgi; ASGI via async wrappers | Hosts onPlotly Cloud, Dash Enterprise, Kubernetes, Heroku, AWS, Azure, GCP | Dev loopHot reload, debug toolbar, callback graph inspector |
Testingdash[testing] with pytest + Selenium/Playwright drivers | VersioningSemVer; 12-month deprecation policy on public APIs | Python3.9+ |
Sourceplotly/dashon GitHub, 43k+ stars |
LicenseMIT (open source) | Form factorPython framework |
Installpip install dash | LanguagesPython |
Build onFlask (server) + React (client) + plotly.js | Componentsdcc, html, Bio, Cytoscape, AG Grid, DataTable, Mantine, plus community libraries |
State modelServer-side reactive callbacks; pattern-matching, clientside, background, long | StreamingWebSocket and SSE via dash-extensions; long-callbacks for jobs |
AuthNone built-in, bring your own (Flask-Login, Auth0, OIDC) or use authentication libraries included with Plotly Cloud and Dash Enterprise. | ServerAny WSGI server: Gunicorn, uWSGI, mod_wsgi; ASGI via async wrappers |
Hosts onPlotly Cloud, Dash Enterprise, Kubernetes, Heroku, AWS, Azure, GCP | Dev loopHot reload, debug toolbar, callback graph inspector |
Testingdash[testing] with pytest + Selenium/Playwright drivers | VersioningSemVer; 12-month deprecation policy on public APIs |
Python3.9+ | Sourceplotly/dashon GitHub, 43k+ stars |
LicenseMIT (open source) |
Form factorPython framework |
Installpip install dash |
LanguagesPython |
Build onFlask (server) + React (client) + plotly.js |
Componentsdcc, html, Bio, Cytoscape, AG Grid, DataTable, Mantine, plus community libraries |
State modelServer-side reactive callbacks; pattern-matching, clientside, background, long |
StreamingWebSocket and SSE via dash-extensions; long-callbacks for jobs |
AuthNone built-in, bring your own (Flask-Login, Auth0, OIDC) or use authentication libraries included with Plotly Cloud and Dash Enterprise. |
ServerAny WSGI server: Gunicorn, uWSGI, mod_wsgi; ASGI via async wrappers |
Hosts onPlotly Cloud, Dash Enterprise, Kubernetes, Heroku, AWS, Azure, GCP |
Dev loopHot reload, debug toolbar, callback graph inspector |
Testingdash[testing] with pytest + Selenium/Playwright drivers |
VersioningSemVer; 12-month deprecation policy on public APIs |
Python3.9+ |
Sourceplotly/dashon GitHub, 43k+ stars |