DEV Community

Cover image for VizBlend: Solving the Challenge of Interactive Data Reporting with Python πŸš€
Mahmoud Housam
Mahmoud Housam

Posted on

VizBlend: Solving the Challenge of Interactive Data Reporting with Python πŸš€

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:
🌟 Blends multiple Plotly figures into a single interactive report.
🌟 Offers keyboard-based navigation to move between slides like a PowerPoint presentation (Arrow keys, Home, End).
🌟 Auto-sliding feature with a 10-second timeframe between each slide (use Space to start/stop timing).

How to use VizBlend
1️⃣ Install VizBlend

pip install vizblend
Enter fullscreen mode Exit fullscreen mode

2️⃣ 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"})
Enter fullscreen mode Exit fullscreen mode

3️⃣ Generate the report

report_file = report.blend_graphs_to_html()  
print(f"Report saved to {report_file}") 
Enter fullscreen mode Exit fullscreen mode

πŸš€ Here’s How You Can Support the Journey:
1️⃣ Star the GitHub Repository 🌟: GitHub Repo
2️⃣ Download VizBlend on PyPI ⬇️: pip install vizblend
3️⃣ 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 are 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 it on PyPI.

Top comments (1)

Collapse
 
hatemhosny profile image
Hatem Hosny

Very nice πŸ‘