An automated data visualization package
Project description
Vizify
Overview
Vizify is a comprehensive Python package designed to automate the process of data visualization, analysis, and machine learning. It generates comprehensive PDF reports containing a wide variety of plots and visual summaries, provides an interactive Streamlit dashboard for live data exploration, and now includes no-code machine learning capabilities for predictive modeling.
Whether you're a data scientist, business analyst, or beginner, Vizify speeds up exploratory data analysis, enables predictive modeling, and makes your datasets visually insightful with minimal effort.
✨ Features
📊 Data Visualization & Analysis
- Basic Statistics: Summarizes key numerical insights and data quality metrics
- Correlation Heatmap: Displays relationships between numerical features
- Distribution Plots: Visualizes data distributions with histograms and KDE
- Box Plots: Highlights outliers and data spread
- Scatter Plots: Shows relationships between numerical variables with optional color coding
- Violin Plots: Combines box plots and density estimates
- Word Cloud: Extracts textual insights from categorical features
- Outlier Detection: Identifies extreme values using statistical methods
- Stacked Bar Charts: Compares categorical data distributions
- Line Plots: Represents trends over time with multiple series support
- Pie Charts: Displays categorical distributions with percentages
- Time-Series Analysis: Visualizes and interprets temporal trends in date/time features
- Anomaly Detection: Detects and visualizes unusual patterns or outliers in time-series data
🤖 Machine Learning Capabilities (NEW)
- No-Code ML Training: Train machine learning models without writing code
- Multiple Algorithm Support: Compare 5+ algorithms simultaneously
- Regression: Linear Regression, Random Forest, Decision Trees, SVM, K-Nearest Neighbors
- Classification: Logistic Regression, Random Forest, Decision Trees, SVM, K-Nearest Neighbors
- Automated Preprocessing: Handles missing values, categorical encoding, and feature scaling
- Smart Problem Detection: Automatically suggests regression vs classification based on target variable
- Model Performance Comparison: Visual charts comparing model accuracy/performance
- Model Export: Download trained models as
.pklfiles for production use - Prediction Visualization: Scatter plots for regression, confusion matrices for classification
- Usage Instructions: Auto-generated Python code for using exported models
🚀 AI-Powered & Conversational Features (MAJOR UPDATE)
- Conversational AI Chat: "Chat with Data" feature allows you to ask questions about your dataset in natural language.
- Per-Chart Intelligence: dedicated "Chat about this chart" interface for every generated visualization.
- Deep Insights Engine: System prompts engineered to provide hypotheses, context, and "out-of-box" thinking, not just data descriptions.
- Model Selection: Switch between different Gemini models (e.g.,
gemini-2.0-flash,gemini-flash-latest) directly in the sidebar. - Robustness: Auto-retry logic for API stability.
- Automated Report Generation: Saves all visualizations in a structured PDF report with AI commentary.
- Smart Data Profiling: AI-driven insights about data quality and patterns.
🎨 Futuristic UI/UX
- Neon Dark Theme: A premium "Vizify Future" aesthetic with deep midnight blue backgrounds and glassmorphism effects.
- Modern Typography: Uses Google's 'Outfit' font for a clean, next-gen look.
- Card-Based Layout: Visualizations are presented in sleek, semi-transparent styled containers.
📱 Interactive Dashboard
- Real-time Data Exploration: Dynamic Streamlit dashboard with live filtering
- Global Data Slicers: Filter entire dashboard by date ranges, categories, and numerical ranges
- Drag-and-Drop Interface: Build custom dashboards by adding/removing visualizations
- Export Capabilities: Download filtered data as CSV or entire dashboard as PDF
- ML Model Training Interface: Train and compare models directly in the dashboard
📦 Installation
Install Vizify using pip:
pip install vizify
🚀 Usage
1. Import the Package
from vizify import Vizify
2. Generate a Basic Visualization Report
from vizify import Vizify
# Initialize Vizify with a CSV file
viz = Vizify("your_data.csv")
viz.show_all_visualizations()
After execution, a file named data_visualization_report.pdf will be created in your working directory containing all the visualizations.
3. Generate a Visualization Report with AI Interpretation
from vizify import Vizify
viz = Vizify("your_data.csv", api_key="YOUR_GEMINI_API_KEY")#Place your API KEY here
viz.show_all_visualizations()
4. Launch Interactive Dashboard (NEW)
Launch the dashboard directly from Python in just two lines:
from vizify import Vizify
Vizify.launch_dashboard()
Or use the command-line interface:
if __name__ == "__main__":
# This will prompt you to choose between PDF report or interactive dashboard
from vizify import main
main()
5. Machine Learning Training (NEW)
🧠 ML Model Training via Interactive Dashboard
Vizify’s dashboard makes machine learning effortless. Just follow these steps:
1️⃣ Upload Your CSV File
Use the file uploader in the sidebar to load your dataset.
2️⃣ Enable ML Model Training
From the sidebar, check the "ML Model Training" option to activate the training wizard.
3️⃣ Follow the Step-by-Step Wizard
-
Choose Problem Type:
Select whether you're solving a Regression or Classification problem. -
Select Features and Target Variable:
Pick the input features and the column you want to predict. -
Configure Preprocessing Options:
Handle missing values, encode categorical variables, and scale features. -
Select Algorithms to Compare:
Choose from multiple models like Linear/Logistic Regression, Random Forest, Decision Trees, SVM, and KNN. -
Train Models with One Click:
Run training and view performance metrics instantly.
4️⃣ Download Trained Models
Export your best-performing model as a .pkl file for production use.
This flow turns Vizify into a no-code ML powerhouse—perfect for analysts, business users, and data scientists alike.
💬 Conversational AI Usage
Vizify now includes a powerful Chat with Data capability.
1️⃣ Global Chat
- Located in the Sidebar.
- Use this to ask general questions about your dataset (e.g., "What are the columns?", "Summarize the trends").
2️⃣ Per-Chart Chat
- Located below every chart you generate.
- Click the "💬 Chat about this chart" expander.
- Ask questions specific to that visualization (e.g., "Why is there a spike in 2023?", "What does this outlier represent?").
- The AI has access to the specific data subset used for that chart.
🤖 AI Settings
- Use the AI Settings dropdown in the sidebar to switch models if you encounter rate limits or want to try a different capability (e.g.,
gemini-2.0-flash).
⚙️ Optional Usage
You can also use specific methods for targeted visualizations:
viz.plot_correlation_heatmap()
viz.plot_time_series(column="date_column", value="sales")
viz.detect_anomalies(column="sales", method="iqr")
📚 Dependencies
Vizify requires the following Python libraries:
- pandas
- numpy
- seaborn
- matplotlib
- missingno
- wordcloud
- scikit-learn
- ipywidgets
- streamlit
- plotly
- st_aggrid
- streamlit_plotly_events
- kaleido
These will be automatically installed when you install Vizify.
📈 Upcoming Features
- Custom Theme Support: Dark/light mode and aesthetic customizations.
- Drill-Down Interactivity: Clickable charts for deeper data exploration.
- Hyperparameter tuning with grid search: Adding the Hyperparameter into ML Models
🧑💻 Contribution
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature-xyz) - Commit your changes
- Push to the branch
- Submit a pull request
📄 License
Vizify is released under the MIT License.
📬 Contact
- Author: Arun M
- Email: arunpappulli@gmail.com
- GitHub: arun6832
Thank you for using Vizify! 🚀
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vizify-0.2.0.tar.gz.
File metadata
- Download URL: vizify-0.2.0.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8deef8022874a610e72d84d26211acb77779bfa5b32161b7d71d61f18ecb35f
|
|
| MD5 |
7adcf255868c6212be71ed33648c83bd
|
|
| BLAKE2b-256 |
827e64ab4fb012fdc440e3758606a25289c77695cbc91bb80ea652a5f49afa81
|
File details
Details for the file vizify-0.2.0-py3-none-any.whl.
File metadata
- Download URL: vizify-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca7a7611917ec6e0740e8452865d979b3b9c260adb93ca26a70db35ce12203ca
|
|
| MD5 |
50b61d938ed40205e8885e142427e42b
|
|
| BLAKE2b-256 |
9464924ffca34dc8dfde64e8fb1dc9cb34d5a5a2dd80ba7337f06d1b6dac3012
|