Datapane is the easiest way to create data science reports from Python.

Overview

Datapane

Datapane Teams | Documentation | API Docs | Changelog | Twitter | Blog

Pip Downloads Latest release Conda (channel only)

Share interactive plots and data in 3 lines of Python.

Datapane is a Python library for building interactive reports for your end-users in seconds.

Import our library into your existing script/notebook and build reports from pandas Dataframes, plots from Python viz libraries, Markdown, as well as data exploration and layout components.

Export your reports as standalone HTML documents, or share and embed them via our free hosted platform.

Getting Started

Installing Datapane

The best way to install Datapane is through pip or conda.

pip

$ pip3 install -U datapane
$ datapane hello-world

conda

$ conda install -c conda-forge "datapane>=0.12.0"
$ datapane hello-world

Datapane also works well in hosted Jupyter environments such as Colab or Binder, where you can install as follows:

!pip3 install --quiet datapane
!datapane signup

Explainer Video

Datapane.Public.Tutorial.mp4

Hello world

Let's say you wanted to create a report with an interactive plot and table viewer:

import altair as alt
from vega_datasets import data
import datapane as dp

source = data.cars()

plot1 = alt.Chart(source).mark_circle(size=60).encode(
  x='Horsepower',
  y='Miles_per_Gallon',
  color='Origin',
  tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).interactive()

dp.Report(
    dp.Text("## Hello world!"),
    dp.Plot(plot1),
    dp.DataTable(source)
).save(path="Hello_world.html")

This will package a standalone HTML document that looks as follows:

Simple Datapane report example with text, plot and table

Your users can scroll & zoom on the chart, filter and download the tabular data.

Advanced Layout Options

Datapane is great for presenting complex data and provides many components for creating advanced interactive layouts. Let's you need to write a technical document:

import altair as alt
from vega_datasets import data
import datapane as dp

source = data.cars()
plot1 = alt.Chart(source).mark_circle(size=60).encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    tooltip=['Name', 'Origin', 'Horsepower', 'Miles_per_Gallon']
).interactive()

dp.Report(
    dp.Page(title="Charts and analysis",
            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(blocks=[
                    dp.Plot(plot1, label="Plot"),
                    dp.HTML('''<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>''', label="Video")
                ]),
            ]),
    dp.Page(title="Dataset", blocks=[
            dp.DataTable(source)
    ])
).save(path="Complex_layout.html", open=True)

Layout blocks like dp.Select, dp.Group and dp.Page allow you to highlight key points without sacrificing detail, while content blocks like dp.HTML and dp.Formula (LaTeX) can enrich your report. The final result looks like this:

Complex Datapane report example

Check out the full list of blocks in our documentation.

Sharing Reports

Sign up for a free account

In addition to saving documents locally, you can host, share and embed reports via Datapane Studio.

To get your free API key, run the following command in your terminal to sign up via email/OAuth:

$ datapane signup

If you're using Jupyter, run !datapane signup instead.

Next, in your Python notebook or script simply change the save function to upload on your report:

dp.Report(
 ...
#).save(path="hello_world.html")
).upload(name="Hello world")

Your Studio account comes with the following:

  • Unlimited public reports - great for embedding into places like Medium, Reddit, or your own website (see here)
  • 5 private reports - share these via email within your organization

Featured Examples

Here a few samples of the top reports created by the Datapane community. To see more, check out our gallery section.

Teams

Datapane Teams is our plan for teams, which adds the following features on top of our open-source and Studio plans:

  • Private domain and organizational workspace
  • Multiple projects
  • Client-sharing functionality
  • Unlimited Datapane Apps
  • Custom App packages and environments
  • Secure Warehouse & API Integration
  • File and Dataset APIs
  • Private Slack or Teams support

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.

Next Steps

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.

Owner
Datapane
Create and share interactive reports from Python
Datapane
A concise grammar of interactive graphics, built on Vega.

Vega-Lite Vega-Lite provides a higher-level grammar for visual analysis that generates complete Vega specifications. You can find more details, docume

Vega 4k Jan 08, 2023
PyPassword is a simple follow up to PyPassphrase

PyPassword PyPassword is a simple follow up to PyPassphrase. After finishing that project it occured to me that while some may wish to use that option

Scotty 2 Jan 22, 2022
Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from time series data.

ts2vg: Time series to visibility graphs The Python ts2vg package provides high-performance algorithm implementations to build visibility graphs from t

Carlos Bergillos 26 Dec 17, 2022
paintable GitHub contribute table

githeart paintable github contribute table how to use: Functions key color select 1,2,3,4,5 clear c drawing mode mode on turn off e print paint matrix

Bahadır Araz 27 Nov 24, 2022
Tools for calculating and visualizing Elo-like ratings of MLB teams using Retosheet data

Overview This project uses historical baseball games data to calculate an Elo-like rating for MLB teams based on regular season match ups. The Elo rat

Lukas Owens 0 Aug 25, 2021
DrawBot lets you draw images taken from the internet on Skribbl.io, Gartic Phone and Paint

DrawBot You don't speak french? No worries, english translation is over here. C'est quoi ? DrawBot est un logiciel codé par V2F qui va prendre possess

V2F 205 Jan 01, 2023
Profile and test to gain insights into the performance of your beautiful Python code

Profile and test to gain insights into the performance of your beautiful Python code View Demo - Report Bug - Request Feature QuickPotato in a nutshel

Joey Hendricks 138 Dec 06, 2022
demir.ai Dataset Operations

demir.ai Dataset Operations With this application, you can have the empty values (nan/null) deleted or filled before giving your dataset to machine le

Ahmet Furkan DEMIR 8 Nov 01, 2022
Ana's Portfolio

Ana's Portfolio ✌️ Welcome to my Portfolio! You will find here different Projects I have worked on (from scratch) 💪 Projects 💻 1️⃣ Hangman game (Mad

Ana Katherine Cortes Sobrino 9 Mar 15, 2022
GitHubPoster - Make everything a GitHub svg poster

GitHubPoster Make everything a GitHub svg poster 支持 Strava 开心词场 扇贝 Nintendo Switch GPX 多邻国 Issue

yihong 1.3k Jan 02, 2023
Apache Superset is a Data Visualization and Data Exploration Platform

Superset A modern, enterprise-ready business intelligence web application. Why Superset? | Supported Databases | Installation and Configuration | Rele

The Apache Software Foundation 50k Jan 06, 2023
Statistical data visualization using matplotlib

seaborn: statistical data visualization Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing

Michael Waskom 10.2k Dec 30, 2022
eoplatform is a Python package that aims to simplify Remote Sensing Earth Observation by providing actionable information on a wide swath of RS platforms and provide a simple API for downloading and visualizing RS imagery

An Earth Observation Platform Earth Observation made easy. Report Bug | Request Feature About eoplatform is a Python package that aims to simplify Rem

Matthew Tralka 4 Aug 11, 2022
A set of three functions, useful in geographical calculations of different sorts

GreatCircle A set of three functions, useful in geographical calculations of different sorts. Available for PHP, Python, Javascript and Ruby. Live dem

72 Sep 30, 2022
An animation engine for explanatory math videos

Powered By: An animation engine for explanatory math videos Hi there, I'm Zheer 👋 I'm a Software Engineer and student!! 🌱 I’m currently learning eve

Zaheer ud Din Faiz 2 Nov 04, 2021
Small U-Net for vehicle detection

Small U-Net for vehicle detection Vivek Yadav, PhD Overview In this repository , we will go over using U-net for detecting vehicles in a video stream

Vivek Yadav 91 Nov 03, 2022
3D-Lorenz-Attractor-simulation-with-python

3D-Lorenz-Attractor-simulation-with-python Animação 3D da trajetória do Atrator de Lorenz, implementada em Python usando o método de Runge-Kutta de 4ª

Hevenicio Silva 17 Dec 08, 2022
Graphical visualizer for spectralyze by Lauchmelder23

spectralyze visualizer Graphical visualizer for spectralyze by Lauchmelder23 Install Install matplotlib and ffmpeg. Put ffmpeg.exe in same folder as v

Matthew 1 Dec 21, 2021
GitHub Stats Visualizations : Transparent

GitHub Stats Visualizations : Transparent Generate visualizations of GitHub user and repository statistics using GitHub Actions. ⚠️ Disclaimer The pro

YuanYap 7 Apr 05, 2022
又一个云探针

ServerStatus-Murasame 感谢ServerStatus-Hotaru,又一个云探针诞生了(大雾 本项目在ServerStatus-Hotaru的基础上使用fastapi重构了服务端,部分修改了客户端与前端 项目还在非常原始的阶段,可能存在严重的问题 演示站:https://stat

6 Oct 19, 2021