Datapane client library and CLI tool
Project description
Datapane Teams |
Documentation |
API Docs |
Changelog |
Twitter |
Blog
Turn a Python analysis into a beautiful document in 3 lines of code.
Datapane is a Python library which makes it simple to build reports from the common objects in your data analysis, such as pandas DataFrames, plots from Python visualisation libraries, and Markdown.
Reports can be exported as standalone HTML documents, with rich components which allow data to be explored and visualisations to be used interactively. You can also publish reports to our free public community platform or share them securely with your team and clients.
Getting Started
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.10.0"
Datapane also works well in hosted Jupyter environments such as Colab or Binder, where you can install as follows:
!pip3 install --quiet datapane
Explainer Video
https://user-images.githubusercontent.com/3541695/117458709-7e80ba80-af42-11eb-9fa7-a11bb05229fe.mp4
Hello world
Let's say you wanted to create a document with a table viewer and an interactive plot:
import pandas as pd
import altair as alt
import datapane as dp
df = pd.read_csv('https://covid.ourworldindata.org/data/vaccinations/vaccinations-by-manufacturer.csv', parse_dates=['date'])
df = df.groupby(['vaccine', 'date'])['total_vaccinations'].sum().reset_index()
plot = alt.Chart(df).mark_area(opacity=0.4, stroke='black').encode(
x='date:T',
y=alt.Y('total_vaccinations:Q'),
color=alt.Color('vaccine:N', scale=alt.Scale(scheme='set1')),
tooltip='vaccine:N'
).interactive().properties(width='container')
total_df = df[df["date"] == df["date"].max()].sort_values("total_vaccinations", ascending=False).reset_index(drop=True)
total_styled = total_df.style.bar(subset=["total_vaccinations"], color='#5fba7d', vmax=total_df["total_vaccinations"].sum())
dp.Report("## Vaccination Report",
dp.Plot(plot, caption="Vaccinations by manufacturer over time"),
dp.Table(total_styled, caption="Current vaccination totals by manufacturer")
).save(path='report.html', open=True)
This would package a standalone HTML report document such as the following:
Text Reports
If you are writing a report with a lot of text e.g. an article or tutorial, try our Text Report web editor, where you can combine Markdown with assets uploaded from Python. Here's how you'd do it for the previous example:
dp.TextReport("## Vaccination Report",
dp.Plot(plot, caption="Vaccinations by manufacturer over time"),
dp.Table(total_styled, caption="Current vaccination totals by manufacturer")
).upload(name="Example vaccination report")
Note that you'll need an account on Datapane.com to use TextReports. This will bring up the web editor, where you can add additional commentary to these assets:
Featured Examples
Here a few samples of the top reports created by the Datapane community. To see more, see our featured section.
- Tutorial Report by Datapane Team
- Coindesk analysis by Greg Allan
- COVID-19 Trends by Quarter by Keith Johnson
- Ecommerce Report by Leo Anthias
- Example Academic Paper by Kalvyn Roux
- Example Sales Report by Datapane Team
- Example Client Report by Datapane Team
- Exploration of Restaurants in Kyoto by Ryan Hildebrandt
- The Numbers on Particles by Ryan Hildebrandt
Next Steps
Sharing Reports
Public sharing
In addition to saving documents locally, you can use Datapane Community to publish your reports. Datapane Community is a free hosted platform which is used by tens of thousands of people each month to view and share Python reports.
- Reports can be published for free and shared publicly
- You can embed them into places like Medium, Reddit, or your own website (see here)
- Viewers can explore and download your data with additional DataTable analysis features
To get started, create a free API key (see here) and call the upload
function on your report,
r = dp.Report(dp.DataTable(df), dp.Plot(chart))
r.upload(name="2020 Stock Portfolio", open=True)
Private sharing
If you need private report sharing, Datapane Teams allows secure sharing of reports and the ability to deploy your Jupyter Notebooks or Python scripts as interactive apps.
- Share reports privately with your company or external clients
- Deploy Jupyter Notebooks and scripts as apps, with inputs that can be run by your team interactively to dynamically create results
- Schedule reports to automatically update
Datapane Teams is offered as both a managed SaaS service and an on-prem install. For more information, see the documentation. You can find pricing here.
Analytics
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.
Linux
$ mkdir -p ~/.config/datapane && touch ~/.config/datapane/no_analytics
macOS
$ mkdir -p ~/Library/Application\ Data/datapane && touch ~/Library/Application\ Data/no_analytics
Windows (PowerShell)
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.
Joining the community
Looking to get answers to questions or engage with us and the wider community? Check out our GitHub Discussions board.
Submit feature requests, issues, and bug reports on this GitHub repo.
Open-source, not open-contribution
Datapane is currently closed to external code contributions. However, we are tremendously grateful to the community for any feature requests, ideas, discussions, and bug reports.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file datapane-0.12.0.tar.gz
.
File metadata
- Download URL: datapane-0.12.0.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.9.6 Linux/5.8.0-1039-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52bd23c0fccc447506e216006821c057ffa0eedb6cffc1632890f5e230798456 |
|
MD5 | 091b8c8344b8b770600ad177288d192e |
|
BLAKE2b-256 | cc20ac5ed47b9ae90e00e12390e95f8a640eaec81a61157fef84a4c34ae6cf93 |
File details
Details for the file datapane-0.12.0-py3-none-any.whl
.
File metadata
- Download URL: datapane-0.12.0-py3-none-any.whl
- Upload date:
- Size: 2.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.9.6 Linux/5.8.0-1039-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4e7fa6cb181960bb8d156d63da5285648905f2fc820654824ceb45de5c8573b |
|
MD5 | 617e1248345021b4905a29da6113d494 |
|
BLAKE2b-256 | 0e4de9fcd8a2a646f60577576fcb6be686e7ffdabf1299b0ce990b2112b47fdc |