webwrench
Python UI framework for interactive dashboards and self-contained HTML reports.
Get StartedZero Dependencies
No runtime dependencies. Install and go — pure Python with bitwrench.js bundled in.
Script Mode
Build dashboards in a flat script. Call ww.title(), add widgets, ww.serve() and you’re live.
App Mode
Multi-page apps with @app.page('/') decorators, per-session state, and routing.
Static Export
Export any page to a self-contained HTML file — share reports without a running server.
Chart.js Built-in
Bar, line, pie, radar, doughnut — one call to ww.chart() with full customization.
Surgical Updates
Only changed elements re-render. No full-page reruns like Streamlit’s model.
Quick Start
pip install webwrench
import webwrench as ww
ww.title("Hello World")
ww.text("My first webwrench app")
ww.serve()
Interactive Example
import webwrench as ww
data = [12, 19, 3, 5, 2, 3]
ww.title("Sales Dashboard")
chart = ww.chart(data, type="bar", labels=["Jan", "Feb", "Mar", "Apr", "May", "Jun"])
slider = ww.slider("Multiplier", min=1, max=10, value=1)
@slider.on_change
def update(value):
chart.update([d * value for d in data])
ww.serve()
Static Report
import webwrench as ww
ww.title("Q1 Report")
ww.chart([12, 19, 3], type="bar", labels=["A", "B", "C"])
ww.export("report.html")
webwrench is powered by bitwrench.js. Licensed under BSD-2-Clause. © Manjirnath Chatterjee.