Skip to main content

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

Project description


๐Ÿ“Š B-vista

Visual, Scalable, and Real-Time Exploratory Data Analysis โ€” Built for modern notebooks and the browser.


banner placeholder

B-vista

B-vista is a full-stack Exploratory Data Analysis (EDA) interface for pandas DataFrames. It connects a Flask + WebSocket backend to a dynamic React frontend, offering everything from descriptive stats to missing data diagnostics โ€” in real-time.


build python license docs

๐ŸŽฏ Designed for:

  • Data Scientists, Analysts, Educators
  • Teams collaborating over datasets
  • Anyone who loves pandas but needs better visuals

๐Ÿ› ๏ธ Built with: Python ยท Flask ยท WebSockets ยท React ยท Plotly ยท ECharts ยท Pandas ยท NumPy


๐Ÿ“š Contents


โœจ Features

  • ๐Ÿ“ˆ Descriptive Statistics โ€” Instant stats (mean, std, quantiles) per column
  • ๐Ÿ“Š Correlation Matrix โ€” Heatmaps for Pearson/Spearman correlations
  • ๐Ÿ“‰ Distribution Analysis โ€” Histograms, KDEs, boxplots by column
  • ๐Ÿงผ Missing Data Detection โ€” Visual analysis (MCAR, MAR, NMAR)
  • ๐Ÿ› ๏ธ Data Cleaning โ€” Forward/backward fill, interpolation, median, mode, etc.
  • ๐Ÿ” Data Transformation โ€” Normalize, standardize, cast, and rename columns
  • ๐Ÿ“‚ CSV Uploads โ€” Drag and drop from your browser
  • ๐Ÿงช Jupyter Notebook Integration โ€” Launch with bvista.show(df)
  • ๐Ÿ“ก Real-time Sync โ€” WebSocket-powered updates between sessions
  • ๐ŸŒ Web-based UI โ€” Modern interface powered by React + Vite

๐Ÿ” See full feature breakdown โ†’


๐Ÿš€ Quickstart

The fastest way to get started (in a notebook):

import pandas as pd
import bvista

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

demo_fast

Or from the terminal:

git clone https://github.com/Baci-Ak/b-vista.git
cd b-vista
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
python backend/app.py

Frontend runs separately:

cd frontend
npm install
npm start

๐Ÿ“ฆ Installation

๐Ÿงช From Source (Editable Mode)

git clone https://github.com/Baci-Ak/b-vista.git
cd b-vista
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .

๐Ÿ’ก You must also start the frontend โ€” see Frontend Setup


๐Ÿ“ฆ Conda Environment (Optional)

conda create -n bvista python=3.10
conda activate bvista
pip install -r requirements.txt
pip install -e .

๐Ÿ”น PyPI (coming soon)

pip install bvista

๐Ÿณ Docker (planned)

Future releases will support Dockerized deployment.


๐Ÿ› ๏ธ Environment & Compatibility

Tool Version
Python โ‰ฅ 3.7 (tested on 3.10)
Node.js ^18.x
npm ^9.x

๐Ÿงฉ Common Setup Fixes

  • npm start fails:

    rm -rf node_modules package-lock.json
    npm install
    
  • Flask not reachable: check localhost:5050, free port, or restart backend

  • WebSocket not connecting: ensure both backend and frontend are live


๐Ÿ“˜ Documentation

๐Ÿ”— See /docs folder for all guides


๐Ÿ“ˆ Usage Examples

1. Notebook + UI

import pandas as pd
import bvista

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

2. API Upload

curl -X POST http://localhost:5050/api/upload \
     -F 'file=@your_file.csv'

3. Trigger WebSocket

socketio.emit("data_update", {"status": "DataFrame updated"})

Full API listed here


๐Ÿ’ก In the News / Inspiration

"B-vista solves the problem of static pandas outputs โ€” it makes DataFrames interactive, shareable, and explorable."
โ€” Community Contributor, Beta Tester

  • Inspired by the gaps in tools like D-Tale, Lux, and pandas-profiling
  • Designed for real-world data workflows, not just pretty plots
  • UI built from scratch for speed, clarity, and scalability

๐Ÿ”— Related Resources


๐Ÿง‘โ€๐Ÿ’ป Developer Setup & Contributing

Run the Backend

cd backend
python app.py

Run the Frontend

cd frontend
npm install
npm start

๐Ÿ“‚ Project Structure

๐Ÿ“ฆ b-vista
โ”œโ”€โ”€ backend/            โ†’ Flask API, WebSocket, models/
โ”œโ”€โ”€ frontend/           โ†’ React app (Vite)
โ”œโ”€โ”€ bvista/             โ†’ Notebook integration module
โ”œโ”€โ”€ docs/               โ†’ Markdown documentation
โ”œโ”€โ”€ tests/              โ†’ Unit & integration tests
โ”œโ”€โ”€ datasets/           โ†’ Sample CSVs for demos
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ setup.py
โ””โ”€โ”€ README.md

๐Ÿค Contributing

We welcome PRs and feedback!
Start here โ†’ docs/development/contributing.md

  • Dev setup instructions
  • Code style & linting
  • GitHub Actions (planned)
  • Test suite guide

๐Ÿ”– Versioning

Follows Semantic Versioning

Current: v0.1.0 (pre-release)

Expect fast iteration and breaking changes until 1.0.0


๐Ÿ“„ License

B-vista is open-source and released under the GNU LGPL v2.1 License.

Contributions, forks, and usage are welcome โ€” just credit the project ๐Ÿ’›


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-0.1.11.tar.gz (10.9 MB view details)

Uploaded Source

Built Distribution

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

bvista-0.1.11-py3-none-any.whl (675.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bvista-0.1.11.tar.gz
Algorithm Hash digest
SHA256 e3661313133e643fe6a0117fef6e2c2b0892b2c91a9758ab5be322d4bbc9e443
MD5 976c7aab4e3ca5a357ff9033b5ef9148
BLAKE2b-256 51d64a75e5e0242b9dccf4092bba58ce5c1edd4ce25d218bcb3d58130f244f77

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bvista-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 675.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for bvista-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 63f0e6323bc7080f60ba205608318fba82e2d7e22825e687c5eb11b553e7be5f
MD5 aac0366fa0feeff83f43536a5d30e067
BLAKE2b-256 a22ec259afae50e4796658a4bf75500689ff17b9b9c1bc7b837484535536115b

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