Back to browse
GitHub Repository

Pure Python Web Framework. Streamlit simplicity, no reruns.

458 starsPython

Violit – Fine-grained reactive Python Web UI (Streamlit-alternative)

by dopeflamingo·Feb 15, 2026·1 point·0 comments

AI Analysis

●●●BangerBig BrainShip It

Streamlit's simplicity minus the full-script reruns—fine-grained reactivity via contextvars.

Strengths
  • Contextvars-based dependency tracking eliminates expensive full-script reruns on every interaction.
  • Hybrid WebSocket/HTTP engine supports both responsive web and native desktop app modes.
  • 20+ professional themes and zero-configuration reactivity removes Streamlit's @cache, @fragment friction.
Weaknesses
  • Early-stage project (295 stars, 3 open issues); ecosystem adoption far behind Streamlit's maturity and community.
  • No clear performance benchmarks vs. Streamlit/NiceGUI; 'instant reactivity' claim lacks published metrics.
Target Audience

Python developers building web UIs, data dashboards, and internal tools

Similar To

Streamlit · NiceGUI · Dash

Post Description

Hello HN,

I am a developer working on open source in my spare time.

I built Violit because I love the simplicity of Streamlit but hit performance bottlenecks due to its execution model (re-running the entire script on every interaction). I also explored NiceGUI, which is excellent, but found it difficult to customize beyond its default Material Design look.

My goal is to empower Python developers to build beautiful, fast full-stack applications without needing React or a separate frontend team. While it is still early days, I hope Violit can eventually serve as a pure-Python alternative to complex stacks like Django+React for many use cases.

------------------------------------------------

Key Technical Details:

- Fine-grained Reactivity: Unlike Streamlit, Violit uses contextvars to track dependencies. Updates are surgical—modifying only the specific DOM node that needs to change, rather than re-executing the whole script.

- Hybrid Engine: It supports both WebSocket (for low latency) and HTMX (Lite mode) depending on your needs.

- Styling & Theming: I wanted to prioritize aesthetics. It moves away from rigid Material Design, supporting easier custom theming (currently ships with +20 presets).

- Multi-Platform: Apps can run as a web service or be packaged as a desktop app using pywebview without code changes.

It is currently in alpha (v0.1.12). I’ve included a "Blog Construction" example in the repo to demonstrate that it can handle more than just simple dashboards.

I’m curious to hear your thoughts on this architecture.

▶ Repo: https://github.com/violit-dev/violit

▶ Blog Example: https://github.com/violit-dev/violit/tree/main/examples/2_vi...

Similar Projects

Developer Tools●●Solid

A vdom-less framework that's local first

Compiler-native IR binding skips the VDOM diff loop entirely for direct DOM updates.

Big BrainNiche Gem
thecodergabe
201mo ago