Datapane
Build and share data reports in 100% Python
Install / Use
/learn @datapane/DatapaneREADME
Note: Datapane is no longer actively maintained.
We've made the difficult decision to stop driving this project and therefore we will no longer actively respond to issues or pull requests. If you would like to take over maintaining this project independently, please let us know so we can add a link to your forked project here.
The final release, 0.17.0, has been optimized to focus on free local report saving, with unused features and analytics removed, and libraries updated to allow usage for as long as possible.
Thank You.
Overview
<p align='center'> <h1 align='center'>Build interactive reports in seconds using Python.</h1> </p>Datapane makes it simple to build interactive reports in seconds using Python.
Import Datapane's Python library into your script or notebook and build reports programmatically by wrapping components such as:
- Pandas DataFrames
- Plots from Python visualization libraries such as Bokeh, Altair, Plotly, and Folium
- Markdown and text
- Files, such as images, PDFs, JSON data, etc.
- Interactive forms which run backend Python functions
Datapane reports are interactive and can also contain pages, tabs, drop downs, and more. Once created, reports can be exported as HTML, shared as standalone files, or embedded into your own application, where your viewers can interact with your data and visualizations.
Gallery
Check out example reports:
- https://github.com/datapane/examples
Getting Started
Check out our Quickstart to build a report in 3m.
Installing Datapane
The best way to install Datapane is through pip or conda.
pip
$ pip3 install -U datapane
conda
$ conda install -c conda-forge "datapane>=0.17.0"
Datapane also works well in hosted Jupyter environments such as Colab or Binder, where you can install as follows:
!pip3 install --quiet datapane
Examples
📊 Share plots, data, and more as reports
Create reports from pandas DataFrames, plots from your favorite libraries, and text.
<p> <img width='485px' align='left' alt="Simple Datapane app example with text, plot and table" src="https://user-images.githubusercontent.com/3541695/176251650-f49ea9f8-3cd4-4eda-8e78-ccba77e8e02f.png"> <p>import altair as alt
from vega_datasets import data
import datapane as dp
df = data.iris()
fig = (
alt.Chart(df)
.mark_point()
.encode(
x="petalLength:Q",
y="petalWidth:Q",
color="species:N"
)
)
view = dp.Blocks(
dp.Plot(fig),
dp.DataTable(df)
)
dp.save_report(view, path="my_app.html")
</p>
🎛 Layout using interactive blocks
Add dropdowns, selects, grid, pages, and 10+ other interactive blocks.
<p> <img width='485px' align='left' alt="Complex layout" src="https://user-images.githubusercontent.com/3541695/176288321-44f7e76f-5032-434b-a3b0-ed7e3911b5d5.png"> <p>...
view = dp.Blocks(
dp.Formula("x^2 + y^2 = z^2"),
dp.Group(
dp.BigNumber(
heading="Number of percentage points",
value="84%",
change="2%",
is_upward_change=True
),
dp.BigNumber(
heading="Simple Statistic", value=100
), columns=2
),
dp.Select(
dp.Plot(fig, label="Chart"),
dp.DataTable(df, label="Data")
),
)
dp.save_report(view, path="layout_example.html")
Next Steps
- Quickstart - build a report in 3m
- View Examples
- Read the documentation
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
99.2kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
344.4kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
