Skip to main content

B-Vista: A powerful data visualization and exploration tool for pandas DataFrames.

Project description

📊 B-vista

Untitled design (8)

Visual, Scalable, and Real-Time Exploratory Data Analysis for pandas DataFrames.

B-Vista is a high-performance EDA (Exploratory Data Analysis) toolkit that connects your pandas DataFrame to a dynamic, modern browser UI powered by Flask and WebSockets. Ideal for Jupyter notebooks, Google Colab, Kaggle, or standalone use.


🔧 Getting Started

Installation

Install via PyPI:

pip install bvista

Or via Conda:

conda install -c conda-forge bvista

Launch in Notebook

import bvista
import pandas as pd

df = pd.read_csv("your_dataset.csv")
bvista.show(df)

By default, B-Vista will auto-launch a backend server and open the interface inline (Jupyter) or in the browser.


🌟 Core Concepts

Sessions

Each DataFrame uploaded creates a unique session. Sessions are isolated, reusable, and persistent while the backend is alive.

Backend Auto-Start

B-Vista auto-launches a Flask server the first time you call bvista.show(df). No extra configuration needed.

Notebook vs Browser

  • In Jupyter/Colab, B-Vista embeds via iframe.
  • In Python scripts or terminals, the default is to open in your system browser.

📊 Main Function: bvista.show()

bvista.show(
    df,                  # pandas DataFrame
    name=None,           # Optional session name
    session_id=None,     # Reconnect to previous session
    open_browser=True,   # Force open in web browser
    silent=False         # Suppress logs
)

Examples

bvista.show(df)

bvista.show(df, name="marketing_campaign")

bvista.show(session_id="abc123")  # Reconnect to saved session

🔄 Session Management

Upload New Dataset

Each call to show(df) creates a new session unless a session_id is provided.

Reconnect to Old Session

bvista.show(session_id="session_id_you_saved")

💡 Key Features

B-Vista gives you:

  • Descriptive statistics (skew, kurtosis, normality)
  • Correlation heatmaps (7+ methods)
  • Distributions with auto binning + log scaling
  • Missing value visualizations (matrix, heatmap, MCAR/MAR/NMAR diagnostics)
  • Smart cleaning tools (mean/mode/knn/autoencoder...)
  • Column transforms (rename, reorder, format)
  • Duplicate detection and resolution
  • Cell-level editing with real-time WebSocket sync

🔍 See full breakdown →


📒 API Reference

bvista.show()

Launches the UI interface. Must pass either:

  • A pandas DataFrame (df), or
  • A session ID (session_id)

bvista.start_backend()

Programmatically start the backend server if needed.

from bvista.server_manager import start_backend
start_backend()

📎 Integration

Google Colab

!pip install bvista --quiet
import bvista, pandas as pd
df = pd.read_csv("...")
bvista.show(df)

Kaggle

Works out-of-the-box. Use same pattern as Colab.


🛠️ Troubleshooting

Issue Fix
Backend failed to start Ensure port 5050 is free. Restart kernel.
Browser doesn't open Set open_browser=True or open http://localhost:5050 manually.
Nothing displays in iframe (Colab) Try bvista.show(..., open_browser=True) to open in full browser.
Port already in use Kill other apps on port 5050 or change via env var BVISTA_PORT.

🛋️ Deployment

Docker Usage

docker pull baciak/bvista:latest
docker run --platform linux/amd64 -p 8501:5050 baciak/bvista:latest

Then visit http://localhost:8501 in your browser.


🔹 Final Notes


✨ consider starring the repo or sharing with your team!

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

bvista-1.1.1.tar.gz (11.2 MB view details)

Uploaded Source

Built Distribution

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

bvista-1.1.1-py3-none-any.whl (11.3 MB view details)

Uploaded Python 3

File details

Details for the file bvista-1.1.1.tar.gz.

File metadata

  • Download URL: bvista-1.1.1.tar.gz
  • Upload date:
  • Size: 11.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bvista-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7fffa12bab9f85205dfd34b18ace8804bbd3c1ee660f03887d99fe8f856a9385
MD5 f4e0478b8484908a818b700ceffdd9ff
BLAKE2b-256 c64084c2dfb40bfe7d9baa1f500fb8d4e5aa5384c5b536c6f61064883a88d9e8

See more details on using hashes here.

File details

Details for the file bvista-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: bvista-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bvista-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5802229c4efaeefe2f493357a056b8e0302b0774e48a32f1f18a727472869214
MD5 3266f152f59cc291f4c44c4910844fdf
BLAKE2b-256 27438e2db02110d40b06e6713b75e7ab10757fc4a908cc90435407bc54f47db6

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