Skip to main content

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
  • Text-to-Chart (Generative AI): Create complex Plotly charts instantly just by typing your request in plain English.

🤖 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
  • Advanced Preprocessing: Handles missing values (including KNN Imputation), categorical encoding, and feature scaling
  • Hyperparameter Tuning: Built-in GridSearchCV to automatically find the optimal parameters for your models
  • Smart Problem Detection: Automatically suggests regression vs classification based on target variable
  • Feature Importance Tracking: Visualize the top 10 contributing features for tree-based and linear models
  • Model Performance Comparison: Visual charts comparing model accuracy/performance
  • Model Export: Download trained models as .pkl files for production use
  • What-If Scenario Simulator: A "Live Prediction Playground" that dynamically generates sliders for every feature, letting you interactively simulate real-time model predictions without writing code!

🚀 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
  • Magic Clean Data: A one-click agentic cleaner that drops empty columns, strips currency/comma formatting, and automatically coerces numerical datatypes.
  • 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:

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:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-xyz)
  3. Commit your changes
  4. Push to the branch
  5. Submit a pull request

📄 License

Vizify is released under the MIT License.


📬 Contact


PyPI Downloads

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

vizify-0.4.0.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vizify-0.4.0-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file vizify-0.4.0.tar.gz.

File metadata

  • Download URL: vizify-0.4.0.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for vizify-0.4.0.tar.gz
Algorithm Hash digest
SHA256 18929d1d99c154340e88b35116f91dd0310ee4616e0e6e5a6735e2891270d2f6
MD5 08bf78fa8f4507a45db5221191be869b
BLAKE2b-256 b2d726e9de13f754e1a368bed1c04028ecd80495805892ee7b14aab570269e39

See more details on using hashes here.

File details

Details for the file vizify-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: vizify-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.11

File hashes

Hashes for vizify-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dcc797388465ba9d87404760176dc399fe2185d5356880bd36e9d780a7888a1
MD5 047493558156ac12f66ffd55cba85437
BLAKE2b-256 4f29ad3e9fdddf1faa0dd8eba34433fedc743d288a0ffb54fc29189701e4cf38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page