# VizBlend

[![PyPI Version](https://img.shields.io/pypi/v/vizblend)](https://pypi.org/project/vizblend/) [![License](https://img.shields.io/pypi/l/vizblend)](https://github.com/MahmoudHousam/VizBlend/blob/master/LICENSE) [![Build Status](https://github.com/MahmoudHousam/VizBlend/actions/workflows/release.yml/badge.svg)](https://github.com/MahmoudHousam/VizBlend/actions) [![CI/CD](https://github.com/MahmoudHousam/VizBlend/actions/workflows/main.yml/badge.svg)](https://github.com/MahmoudHousam/VizBlend/actions) [![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://black.readthedocs.io/en/stable/) [![Downloads](https://img.shields.io/pypi/dm/vizblend)](https://pypistats.org/packages/vizblend) 

VizBlend is a Python package that simplifies the process of creating interactive analytical reports by consolidating Plotly figures into a single HTML file. It’s designed to function like a modern PowerPoint presentation but with the power of stunning and interactive data visualizations.

Whether you’re a data analyst, scientist, or developer, VizBlend streamlines the visualization workflow and enhances collaboration.

# Demo
Below is a preview of a report generated with VizBlend:

![VizBlend Thumbnail](https://cdn.jsdelivr.net/gh/MahmoudHousam/VizBlend@master/demo/demo.gif)

# Installation

Install vizBlend using pip:
```
pip install vizBlend
```

# Learning Purpose

Besides its main job, this repo intends to teach aspiring data analysts or even data scientists who cannot have full control over their coding cycle. With a simple mission: create visualizations and append them in one interactive report, you can take your learning curve up to include useful skills:
* Write unit and integration tests with edge cases to ensure your code is not error-prone.

* Write CI/CD workflows to run on every push or pull request to ensure the newly committed code is compatible enough.

* Creating, managing and deploying your packaged code to PyPi so that you can simply run `pip install <package_name>` and start using it.


    ##### Useful Resources

    These are the resources that helped this work appear
    * [GitHub Actions for Python Packages: How to Automate Releases to PyPi](https://www.youtube.com/watch?v=NMQwzI9hprg&ab_channel=ArjanCodes)
  
    * [Automated Python Unit Testing Made Easy with Pytest and GitHub Actions](https://pytest-with-eric.com/integrations/pytest-github-actions/)

    * [Building and testing Python | Official GitHub Actions Docs](https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python)

    * [pypi-publish | GitHub Action](https://github.com/marketplace/actions/pypi-publish)
