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...