Datapane client library and CLI tool
From notebook to shareable data app in 10 seconds.Datapane is a python framework that makes it super easy to build, host, and share interactive data apps straight from your Jupyter notebook.
What makes Datapane special?
- Static generation: Sharing an app shouldn't require deploying an app. Render a standalone HTML bundle which you can share or host on the web.
- API-first and programmatic: Programmatically generate apps from inside of Spark, Airflow, or Jupyter. Schedule updates to build real-time dashboards.
- Dynamic front-end components: Say goodbye to writing HTML. Build apps from a set of interactive components, like DataTables, tabs, and selects.
Want a head start? Check out our Datapane in 3 minutes video:
The best way to install Datapane is through pip or conda.
$ pip3 install -U datapane
$ conda install -c conda-forge "datapane>=0.15.5"
Datapane also works well in hosted Jupyter environments such as Colab or Binder, where you can install as follows:
!pip3 install --quiet datapane
📊 Include plots and data
Create an app from pandas DataFrames, plots from your favorite libraries, and text.
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" ) ) app = dp.App( dp.Plot(fig), dp.DataTable(df) ) app.save(path="my_app.html")
🎛 Layout using interactive blocks
Add dropdowns, selects, grid, pages, and 10+ other blocks to enhance your apps.
... dp.App( 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") ), ).save(path="layout_example.html")
Our Discord community is for people who believe that insights, visualizations, and apps are better created with Python instead of drag-and-drop tools. Get help from the team, share what you're building, and get to know others in the space!
Leave us some feedback, ask questions and request features.
Need technical help? Ask our experts on the forums.
Looking for ways to contribute to Datapane?
In addition to saving apps locally or hosting them yourself, you can host and share your apps using Datapane Cloud.
To get your API key, create a free account.
Next, in your Python notebook or script, change the
save function to
dp.App( ... #).save(path="hello_world.html") ).upload(name="Hello world")
Demos and Examples
Here a few samples of the top apps created by the Datapane community.
- Coindesk analysis by Greg Allan
- COVID-19 Trends by Quarter by Keith Johnson
- Ecommerce Report by Leo Anthias
- Example Academic Paper by Kalvyn Roux
- Exploration of Restaurants in Kyoto by Ryan Hildebrandt
By default, the Datapane Python library collects error reports and usage telemetry.
This is used by us to help make the product better and to fix bugs.
If you would like to disable this, simply create a file called
no_analytics in your
datapane config directory, e.g.
$ mkdir -p ~/.config/datapane && touch ~/.config/datapane/no_analytics
$ mkdir -p ~/Library/Application\ Data/datapane && touch ~/Library/Application\ Data/no_analytics
PS> mkdir ~/AppData/Roaming/datapane -ea 0 PS> ni ~/AppData/Roaming/datapane/no_analytics -ea 0
You may need to try
~/AppData/Local instead of
~/AppData/Roaming on certain Windows configurations depending on the type of your user-account.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for datapane-0.15.6-py3-none-any.whl