Visual Viper Documentation
Overview
Visual Viper (VV) is a Python library designed to automate the process of creating scientific charts. The library uses Vega-Lite, a high-level grammar for interactive graphics, to render visualizations from various research data sources through a convenient API.
Why Visual Viper?
Digital Transformation in Healthcare
The healthcare industry is undergoing a digital transformation, leading to a significant influx of data. For healthcare professionals and researchers, this means an increased need for efficient data visualization tools.
Streamlined Visualization Process
Visual Viper aims to streamline the often labor-intensive process of creating data visualizations, thereby saving time and enhancing the consistency of scientific communication.
Features
Modular and Extensible: Built on a plugin architecture, VV is designed to accommodate various data sources and types of visualizations.
Customizable: Each stage of the visualization process allows for independent modification without affecting the library’s overall functionality.
Environment Agnostic: Operates in various environments without requiring significant changes.
Serverless Deployment: Can run independently on local machines, Lambda, or as a Web API.
Core Components
`DatasetBuilder`: Fetches and preprocesses data.
`NotationBuilder`: Generates the chart notation, specifying chart layouts and visual aesthetics.
`ChartRenderer`: Creates the visualization output, which can be an image file or a in-memory file-like object.
`ChartDeployer`: Handles the deployment of completed visualizations.
Development Paradigms
Object-Oriented Programming (OOP): Promotes a structured codebase that’s easy to manage and maintain.
Test-Driven Development (TDD): Ensures robustness and quality by writing tests before the actual code.
Future Plans
Introduction of new chart types, including Bar Chart, Survival Chart, and Sankey Diagrams.
Packaging as an importable Python package, followed by an efficiency evaluation.
Conclusion
Visual Viper offers a robust and flexible tool for data visualization, significantly enhancing the efficiency of scientific communication in the healthcare sector.