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 programmatically by wrapping components such as:
Markdown and text
General files, such as images, PDFs, JSON data, etc.
Datapane reports are flexible and can also contain pages, tabs, drop downs, and more. Once created, reports can be uploaded to the web, dynamically generated in the cloud, or embedded into your own application, where your viewers can interact with your data and visualizations.
Here's an example of a basic Datapane report exported to a HTML document:
import pandas as pdimport altair as altimport datapane as dpdf = 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)
If you want to share your report on the web, Datapane Studio provides a free API and hosted platform for uploading and sharing reports. If you have already created an account and are signed in, you can upload your report in a single Python command:
dp.Report(dp.Plot(plot),dp.DataTable(df)).upload(name='Vaccination Report', open=True) # upload & open report in the browser
Once uploaded, you can share your report with your community, class, or friends by sharing the link.
In addition, you can embed your uploaded report into social platforms, like Reddit and Medium, where your readers can explore your data and plots interactively without leaving your content, like this:
If your team is using the Python data stack for analysis and visualization, but is still relying on a drag-and-drop BI tool to share results, Datapane Teams provides an API-first way to share reports directly from Python. This enables data teams to use the tools they are gifted at to drive business decisions, and allows stakeholders to self-serve on what the data team is building, instead of going through a backlog.
In addition to providing secure, authenticated report sharing, Datapane Teams allows automated report generation by allowing data teams to deploy their Python scripts and Jupyter Notebooks to the cloud. Reports can be generated from parameters entered through web forms, on a schedule, or on-demand through our HTTP and Python APIs.
Other features include: