Share a data dashboard with stakeholders who have no Python installed by exporting it as a single static HTML file.
Build a field-data tool that works fully offline, no internet or server required.
Package sensitive analytics so data never leaves the user's device or hits any server.
Distribute interactive experiment results as one portable file anyone can open in a browser.
| structuredlabs/preswald | facebookresearch/vjepa2 | facebookresearch/deit | |
|---|---|---|---|
| Stars | 4,290 | 4,235 | 4,349 |
| Language | Python | Python | Python |
| Last pushed | — | 2026-03-23 | 2024-03-15 |
| Maintenance | — | Maintained | Dormant |
| Setup difficulty | easy | hard | moderate |
| Complexity | 2/5 | 4/5 | 3/5 |
| Audience | data | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Builder needs pip + Python environment, end users need nothing, they just open the exported HTML file.
Preswald is a static-site generator that turns Python data scripts into self-contained interactive apps that run entirely in the browser, no server, no installation required for whoever receives the app. The person building it writes Python code, Preswald bundles everything into a static site that anyone can open and use offline. The technical foundation is Pyodide, a version of Python compiled to WebAssembly so it runs inside a browser, and DuckDB, an in-browser analytics database. Together, these let Preswald apps run full Python data workflows: queries, transformations, and visualizations, all directly in the browser without calling any backend. Data, logic, and UI are bundled into one portable file. Building an app works through a command-line tool: preswald init creates the project structure, preswald run launches a local development server, and preswald export packages everything into a distributable static site. Configuration is handled through a preswald.toml file. App logic is written in Python using built-in components like tables, charts, and forms. A reactive engine tracks dependencies between computations and only re-runs what changed when inputs are updated, keeping the interface responsive without server round-trips. Useful scenarios include sharing dashboards or reports with stakeholders who don't have Python installed, handling sensitive data that must not leave a device, building tools for fieldwork or air-gapped environments, and packaging experiment results as standalone interactive panels. The project is written in Python and licensed under Apache 2.0.
Preswald turns Python data scripts into self-contained interactive apps that run entirely in the browser via WebAssembly, no server or Python installation needed by end users.
Mainly Python. The stack also includes Python, Pyodide, WebAssembly.
Use freely for any purpose including commercial, as long as you keep the copyright and license notices.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly data.
This repo across BitVibe Labs
Verify against the repo before relying on details.