Introducing VizBlend - A Web-Based Interactive Reporting Tool built on Top of Plotly

Hello Everbody! In this post, I’ll introduce VizBlend: a Python package that seamlessly integrates Plotly’s interactive visualizations into a single standalone HTML file offering a modern presentation-like experience with the flexibility of a web-based report.

You know JS, HTML and CSS are not a requirement for a data analyst/scientist to learn to use in daily tasks. As a Python data analyst, I’ve always suffered from lacking of delivering analytics reports to stakeholders in a practical, informative, easy-to-use, and yet interactive way. I have to wait for another job that builds the report and sends it to them. This job requires additional skills that are not included in any roadmap designed for a data analyst.

Here is the challenge! Develop a tool that data analysts can use to build their interactive reports with some help from JS, HTML, and CSS without exposing them to learning anything more than their current skills.

Dealing with this challenge leads me to build and launch VizBlend. A Python package that:
:star2: Blends multiple Plotly figures into a single interactive report.
:star2: Offers keyboard-based navigation to move between slides like a PowerPoint presentation (Arrow keys, Home, End).
:star2: Auto-sliding feature with a 10-second timeframe between each slide (use Space to start/stop timing).

How to use VizBlend

:one: Install VizBlend

pip install vizblend

:two: Import VizBlend and add figures

from vizblend import CreateReport  
import plotly.graph_objects as go  

report = CreateReport(report_title="Sales Report")  
bar_fig = go.Figure(go.Bar(x=["A", "B", "C"], y=[10, 20, 30]))  
report.add_figure(bar_fig, {"title": "Sales Data"})

:three: Generate the report

report_file = report.blend_graphs_to_html()  
print(f"Report saved to {report_file}") 

:rocket: Here’s How You Can Support the Journey:
:one: Star the GitHub Repository :star2:: GitHub Repo
:two: Download VizBlend on PyPI :arrow_down:: pip install vizblend
:three: Share Your Feedback and Contribute: Let me know how VizBlend can integrate into your workflow.

Learning Purpose
Adding a beginner level of DevOps to your stack is beneficial and makes you a more independent developer. I want to learn some CI/CD with GitHub Actions since my workplace is heavily dependent on them. Also, the process of building a Python package with setuptools, source distribution and build distribution wheels is out-of-analytics-stack but useful for a Python developer even if you only use Python for data analysis. VizBlend helps me understand, write, run, and monitor CI/CD workflows with GitHub Actions to build and release the package on PyPI.

3 Likes