Dash: Python framework for building data web applications
Build reactive web apps with Python callbacks.
Learn more about dash
Dash is a Python web application framework built on top of Flask, React, and Plotly.js. It allows developers to define interactive user interfaces declaratively using Python, with UI elements like dropdowns, sliders, and graphs connected directly to Python callback functions. The framework handles the translation between Python code and the underlying React/JavaScript frontend, managing state and reactivity automatically. Applications are commonly deployed for data analysis, financial dashboards, scientific visualization, and business intelligence use cases.

Python-only development
Applications are written entirely in Python without requiring JavaScript knowledge. The framework abstracts away frontend complexity by automatically generating React components and managing client-server communication.
Declarative reactive architecture
UI layouts and interactions are defined declaratively through Python objects. Callbacks automatically re-execute when input values change, creating reactive data flows without manual DOM manipulation.
Integrated Plotly visualization
Built-in support for approximately 50 chart types from Plotly.js, including maps and statistical plots. Charts are interactive by default and can trigger callbacks based on user interactions like clicks or selections.
from dash import Dash, html, dcc
import plotly.express as px
app = Dash(__name__)
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
app.layout = html.Div([
html.H1("Iris Dataset Dashboard"),
dcc.Graph(figure=fig)
])
app.run(debug=True)DataTable is deprecated in favor of AG Grid; adds API endpoints, health checks, and Plotly Cloud integration.
- –Migrate from dash_table.DataTable to the AG Grid component via `dash[ag-grid]` extra before future removal.
- –Use `api_endpoint` in callbacks to expose direct HTTP endpoints or `/health` for monitoring without full Dash context.
Release candidate removes a UI element from workspace views; no breaking changes or requirements specified.
- –Remove the placeholder publish button when viewing content on workspace.
- –Release notes do not specify breaking changes, dependency updates, or migration steps.
Breaking changes to Dropdown and Slider default behaviors; closeOnSelect now True for single-select, step auto-computed when min/max aren't both integers.
- –Update Dropdown code: closeOnSelect defaults to True for single-select (was False); optionHeight now 'auto' (was numeric).
- –Review Slider usage: step defaults to 1 only when min and max are both integers, otherwise dynamically computed from available space.
See how people are using dash
Related Repositories
Discover similar tools and frameworks used by developers
components
Material Design components and utilities for Angular applications.
daisyui
Semantic component classes extending Tailwind CSS utilities.
RemixIcon
3100+ neutral-style SVG icons in outlined and filled variants.
yup
JavaScript schema validation with chainable API and type inference.
hls.js
JavaScript HLS client with MPEG-TS to MP4 transmuxing.