Stop using heavy frameworks for simple data science dashboards
S

Stop using heavy frameworks for simple data science dashboards

Stop using heavy frameworks for simple data science dashboards

462 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Stop Overcomplicating Your Data Dashboards

We've all been there. You need to build a quick internal dashboard to visualize some data, maybe a model's performance or some live metrics. The instinct is to reach for a full-featured framework—Streamlit, Dash, maybe a React setup with a charting library. Suddenly, you're managing dependencies, writing boilerplate, and your "simple view" has become a small application. It feels like using a crane to lift a coffee cup.

What if you could skip the framework and serve a clean, interactive dashboard directly from a Python script? That's the idea behind Violit, a minimal tool that turns your data into a web-based dashboard with almost zero ceremony.

What It Does

Violit is a lightweight Python library that spins up a local web server to display your pandas DataFrames as interactive tables and charts. You write a few lines of Python to define your data and views, run the script, and it opens a browser tab with your dashboard. No HTML, no CSS, no JavaScript, and no complex routing to configure. It's a single-purpose tool for a very common task.

Why It's Cool

The beauty of Violit is in its constraints. It doesn't try to be a general-purpose web framework. Because it's focused solely on data display, its API is dead simple. You create a violit.Page, add your DataFrames or plots to it, and call page.serve(). It uses Vega-Lite under the hood for declarative charting, so you get powerful, interactive visualizations without writing any frontend code.

It's also fast. Since it's not lugging around the overhead of a larger framework, it starts instantly and feels snappy. This makes it perfect for prototyping, for internal tools where you need a shared view of some data, or for wrapping up a data science notebook's output into something more presentable and persistent.

The project acknowledges a specific niche: the gap between a static matplotlib plot and a full-blown dashboard app. It sits comfortably in that middle ground, saving you from over-engineering a solution.

How to Try It

Getting started is straightforward. Install it from PyPI, write a short script, and run it.

pip install violit

Here's a basic example:

import pandas as pd
import violit # Create some sample data
df = pd.DataFrame({ 'category': ['A', 'B', 'C', 'D'], 'value': [25, 40, 10, 30]
}) # Create a page, add a chart, and serve it
page = violit.Page(title="My Simple Dashboard")
page.add_bar_chart(df, x='category', y='value')
page.serve()

Save that to a file like dashboard.py and run it (python dashboard.py). It will print a local URL (usually http://localhost:7860) and open it in your browser. That's it.

Check out the

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Apr 9, 2026