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
Collection of scripts for making high quality beautiful math-related posters.

Poster Collection of scripts for making high quality beautiful math-related posters. The poster can have as large printing size as 3x2 square feet wit

Nattawut Phetmak 3 Jun 09, 2022
This project is an Algorithm Visualizer where a user can visualize algorithms like Bubble Sort, Merge Sort, Quick Sort, Selection Sort, Linear Search and Binary Search.

Algo_Visualizer This project is an Algorithm Visualizer where a user can visualize common algorithms like "Bubble Sort", "Merge Sort", "Quick Sort", "

Rahul 4 Feb 07, 2022
Create charts with Python in a very similar way to creating charts using Chart.js

Create charts with Python in a very similar way to creating charts using Chart.js. The charts created are fully configurable, interactive and modular and are displayed directly in the output of the t

Nicolas H 68 Dec 08, 2022
A little word cloud generator in Python

Linux macOS Windows PyPI word_cloud A little word cloud generator in Python. Read more about it on the blog post or the website. The code is tested ag

Andreas Mueller 9.2k Dec 30, 2022
nptsne is a numpy compatible python binary package that offers a number of APIs for fast tSNE calculation.

nptsne nptsne is a numpy compatible python binary package that offers a number of APIs for fast tSNE calculation and HSNE modelling. For more detail s

Biomedical Visual Analytics Unit LUMC - TU Delft 29 Jul 05, 2022
D-Analyst : High Performance Visualization Tool

D-Analyst : High Performance Visualization Tool D-Analyst is a high performance data visualization built with python and based on OpenGL. It allows to

4 Apr 14, 2022
Using SQLite within Python to create database and analyze Starcraft 2 units data (Pandas also used)

SQLite python Starcraft 2 English This project shows the usage of SQLite with python. To create, modify and communicate with the SQLite database from

1 Dec 30, 2021
Log visualizer for whirl-framework

Lumberjack Log visualizer for whirl-framework Установка pip install -r requirements.txt Как пользоваться python3 lumberjack.py -l путь до лога -o

Vladimir Malinovskii 2 Dec 19, 2022
Python Data Validation for Humans™.

validators Python data validation for Humans. Python has all kinds of data validation tools, but every one of them seems to require defining a schema

Konsta Vesterinen 670 Jan 09, 2023
Example scripts for generating plots of Bohemian matrices

Bohemian Eigenvalue Plotting Examples This repository contains examples of generating plots of Bohemian eigenvalues. The examples in this repository a

Bohemian Matrices 5 Nov 12, 2022
📊 Extensions for Matplotlib

📊 Extensions for Matplotlib

Nico Schlömer 519 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
Data Visualizer for Super Mario Kart (SNES)

Data Visualizer for Super Mario Kart (SNES)

MrL314 21 Nov 20, 2022
Visualise top-rated GitHub repositories in a barchart by keyword

This python script was written for simple purpose -- to visualise top-rated GitHub repositories in a barchart by keyword. Script generates html-page with barchart and information about repository own

Cur1iosity 2 Feb 07, 2022
An interactive GUI for WhiteboxTools in a Jupyter-based environment

whiteboxgui An interactive GUI for WhiteboxTools in a Jupyter-based environment GitHub repo: https://github.com/giswqs/whiteboxgui Documentation: http

Qiusheng Wu 105 Dec 15, 2022
Visualizing weather changes across the world using third party APIs and Python.

WEATHER FORECASTING ACROSS THE WORLD Overview Python scripts were created to visualize the weather for over 500 cities across the world at varying di

G Johnson 0 Jun 12, 2021
Draw interactive NetworkX graphs with Altair

nx_altair Draw NetworkX graphs with Altair nx_altair offers a similar draw API to NetworkX but returns Altair Charts instead. If you'd like to contrib

Zachary Sailer 206 Dec 12, 2022
Numerical methods for ordinary differential equations: Euler, Improved Euler, Runge-Kutta.

Numerical methods Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of ordinary

Aleksey Korshuk 5 Apr 29, 2022
100 Days of Code The Complete Python Pro Bootcamp for 2022

100-Day-With-Python 100 Days of Code - The Complete Python Pro Bootcamp for 2022. In this course, I spend with python language over 100 days, and I up

Rajdip Das 8 Jun 22, 2022
A programming language built on top of Python to easily allow Swahili speakers to get started with programming without ever knowing English

pyswahili A programming language built over Python to easily allow swahili speakers to get started with programming without ever knowing english pyswa

Jordan Kalebu 72 Dec 15, 2022