Introducing Dash MCP + Building Dash Apps with Coding Agents. Reserve your spot.

APPS

Dash: the open-source Python framework for data applications

Read DocsView on GitHub
pip install dash
Deploy on Plotly Cloud →Deploy on Dash Enterprise →

The most popular Python framework for analytical web apps

24K+

GitHub stars

9.1M+

PyPI downloads per month

8+

years of active development

How it works

30 lines of Python. A fully interactive web app.

1. Define your layout

Use Python to declare your UI — dropdowns, graphs, sliders, tables, and 100+ other components. No HTML templates.

2. Write callbacks

Decorate plain Python functions with 

@app.callback

When an input changes, Dash calls your function and updates the UI automatically.

3. Run it
python app.py

and open your browser. That's it. Your app is live at localhost and ready to deploy.

app.py
from dash import Dash, dcc, html, Input, Output

import plotly.express as px

import pandas as pd



df = pd.read_csv(
"https://raw.githubusercontent.com/"
 "plotly/datasets/master/gapminder_unfiltered.csv"

)



app = Dash()
Works with AI too

Easy for you. Easy for AI agents.

Describe what you want

Tell 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 minutes

The 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 call

Use 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 reactive

Wire UI to Python. No HTML, CSS, or JavaScript - just functions and decorators.

@callback

The decorator that turns a Python function into a piece of reactive UI. Inputs, outputs, and state— all declared in Python.

Pattern-matching callbacks

Generate dynamic layouts that wire up automatically. Add or remove components at runtime without rewriting your callbacks.

Clientside & background

Clientside callbacks run instantly in the browser. Background callbacks offload long jobs without freezing the UI.

Components for serious analytics

Spreadsheet-class grids. Production-ready charts.
Complete component libraries — accessible from Python, React under the hood.

Dash AG Grid

Filtering, grouping, pivoting, and editing at enterprise scale. The same grid powering data-heavy apps inside global banks.

View the AG Grid docs →

Dash Mantine + Bootstrap

Complete UI kits - buttons, modals, tabs, layouts - wired up from Python with no front-end work required.

View the component libraries →

dcc.Graph

Embed any Plotly figure into a Dash app with crossfiltering, selection, and click events wired to Python callbacks.

View the dcc.Graph docs →

Production ready

From prototype to production data application.
Dash apps run in regulated industries, on global infrastructure, behind firewalls.

Multi-page apps

Dash Pages handles file-based routing, layout composition, and navigation state — modern web framework patterns, written in Python.

Streaming & long-running tasks

WebSocket support, set_props for incremental updates, and background callbacks keep dashboards responsive under load.

Deploys anywhere

Easy, fast, one-click deployment to Plotly Cloud and Dash Enterprise. Can be deployed on other platforms.

Tech Specs

License

MIT (open source)

Form factor

Python framework

Install

pip install dash

Languages

Python

Build on

Flask (server) + React (client) + plotly.js

Components

dcc, html, Bio, Cytoscape, AG Grid, DataTable, Mantine, plus community libraries

State model

Server-side reactive callbacks; pattern-matching, clientside, background, long

Streaming

WebSocket and SSE via dash-extensions; long-callbacks for jobs

Auth

None built-in, bring your own (Flask-Login, Auth0, OIDC) or use authentication libraries included with Plotly Cloud and Dash Enterprise.

Server

Any WSGI server: Gunicorn, uWSGI, mod_wsgi; ASGI via async wrappers

Hosts on

Plotly Cloud, Dash Enterprise, Kubernetes, Heroku, AWS, Azure, GCP

Dev loop

Hot reload, debug toolbar, callback graph inspector

Testing

dash[testing] with pytest + Selenium/Playwright drivers

Versioning

SemVer; 12-month deprecation policy on public APIs

Python

3.9+

Source

plotly/dashon GitHub, 43k+ stars

Build your first Dash app in twenty minutes.

Read the quickstart →
bluesky logo
x logo
instagram logo
youtube logo
medium logo
facebook logo

Product

© 2026
Plotly. All rights reserved.
Cookie Preferences
AICPA Icon
ISO 27001
ISO 27701
ISO 42001