Preswald is a static-site generator for building interactive data apps in Python. It packages compute, data access, and UI into self-contained data apps that run locally in the browser. Built on a WASM runtime with Pyodide and DuckDB, Preswald enables portable, file-based apps that are fast, reactive, and shareable.

You can think of Preswald as a lightweight alternative to heavier web app platforms. It provides built-in UI components and reactive state tracking, so you can use it to build dashboards, reports, prototypes, workflows, and notebooks that are reactive, portable, and secure by default.

Key Features

  • Code-based development – Write apps in Python, not in notebooks or JS frameworks
  • File-first approach – One command creates a fully-packaged .html app
  • Built for computation – Use Pyodide + DuckDB directly in-browser
  • Composable UI – Use prebuilt components like tables, charts, forms
  • Reactive engine – Only re-run what’s needed, powered by a DAG of dependencies
  • Local execution – No server. Runs offline, even with large data
  • AI-ready – Apps are fully inspectable and modifiable by agents
  • High-performance GPU charts – Render real-time, interactive charts using fastplotlib, with offscreen GPU acceleration and WebSocket-based streaming to the browser

Setting Up

Get started with Preswald in just a few steps. Set up your environment and start building powerful, interactive data applications right away.