랭킹으로 돌아가기

StructuredLabs/preswald

Pythonpreswald.com

Preswald is a WASM packager for Python-based interactive data apps: bundle full complex data workflows, particularly visualizations, into single files, runnable completely in-browser, using Pyodide, DuckDB, Pandas, and Plotly, Matplotlib, etc. Build dashboards, reports, and notebooks that run offline, load fast, and share like a document.

aianalyticsdataanalytics-engineeringcopilotdata-applicationsdata-infrastructuredata-pipelinesdata-sdkdata-visualizationgptllm
스타 성장
스타
4.3k
포크
647
주간 성장
이슈
58
2k4k
2024년 12월2025년 6월2026년 1월2026년 7월
아티팩트PyPIpip install preswald
README

Banner

Create interactive data apps with a full data stack that runs in the browser (no local dependencies!),runs offline, and is shareable in a single file.

Apache 2.0 License Python Version Slack Community PyPI Version

Website Documentation Studio Book a Demo

What is Preswald?

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.

Preswald is especially useful when:

  • You want to bundle logic, UI, and data into a shareable file
  • You need to ship a tool to a stakeholder who shouldn't need to install anything
  • You're working with sensitive data and want full local control
  • You want to give AI systems structured, modifiable tools

Key Features

  • Code-based. Write apps in Python, not in notebooks or JS frameworks
  • File-first. 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

Export as a Static App

preswald export

This command builds your app into a static site inside dist/. The folder contains all the files needed to run your app locally or share it.

  • Works offline in any modern browser
  • Bundles your Python code (via Pyodide), data, and DuckDB queries
  • Preserves app UI, logic, and reactive state
  • Shareable as a file folder or embeddable in hosting platforms

Installation

https://pypi.org/project/preswald/

pip install preswald

or 

uv pip install preswald

Demo GIF

Quick Start

pip install preswald
preswald init my_app
cd my_app
preswald run

This will create a folder called my_app:

my_app/
├── hello.py           # Your app logic
├── preswald.toml      # App metadata and config
├── secrets.toml       # Secrets (e.g. API keys)
├── data/sample.csv    # Input data files
├── images/logo.png    # Custom branding

Edit hello.py to build your app.

from preswald import text, table, get_df

text("# Hello Preswald")
df = get_df("sample.csv")
table(df)
...

Now run your app locally with:

preswald run

This command launches a development server, and Preswald will let you know where your app is hosted. Typically, it’s here:

🌐 App running at: http://localhost:8501

Open your browser, and voilà—your first Preswald app is live!

Configuration

Preswald uses a simple preswald.toml file for configuration. This defines the app's metadata, runtime settings, UI branding, and data sources. Here's a sample:

[project]
title = "Preswald Project"
version = "0.1.0"
port = 8501
slug = "preswald-project"
entrypoint = "hello.py"

[branding]
name = "Preswald Project"
logo = "images/logo.png"
favicon = "images/favicon.ico"
primaryColor = "#F89613"

[logging]
level = "INFO"  # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"

Use Cases


📚 Documentation

We’re here to help! Check out our full documentation at Preswald Docs.


🤝 Contributing

Check out CONTRIBUTING.md.


🎉 Join the Community

  • GitHub Issues: Found a bug? Let us know here.
  • Community Forum: Reach out here
  • Discussions: Share your ideas and ask questions in our discussion forum.
  • Contributors: Meet the awesome people who make Preswald better here.

📢 Stay Connected

Follow us on LinkedIn Follow us on Twitter

📄 License

Preswald is licensed under the Apache 2.0 License.

✨ Contributors

Thanks to everyone who has contributed to Preswald 💜

관련 저장소
openclaw/openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

TypeScriptnpmOtheraiassistant
openclaw.ai
383.6k80.6k
obra/superpowers

An agentic skills framework & software development methodology that works.

ShellMIT Licenseaibrainstorming
258.3k23k
NousResearch/hermes-agent

The agent that grows with you

PythonPyPIMIT Licenseaiai-agent
hermes-agent.nousresearch.com
217.9k41.1k
n8n-io/n8n

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

TypeScriptnpmOtherautomationipaas
n8n.io
197.2k59.5k
Significant-Gravitas/AutoGPT

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.

PythonPyPIOtheraiopenai
agpt.co
185.6k46.1k
f/prompts.chat

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

HTMLOtherchatgptai
prompts.chat
166.1k21.5k
AUTOMATIC1111/stable-diffusion-webui

Stable Diffusion web UI

PythonPyPIGNU Affero General Public License v3.0deep-learningdiffusion
164.3k30.4k
Snailclimb/JavaGuide

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

JavaScriptnpmApache License 2.0javainterview
javaguide.cn
157.2k46.2k
firecrawl/firecrawl

The API to search, scrape, and interact with the web at scale. 🔥

TypeScriptnpmGNU Affero General Public License v3.0aicrawler
firecrawl.dev
153.6k8.8k
langgenius/dify

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.

TypeScriptnpmOtheraigpt
dify.ai
149.5k23.6k
open-webui/open-webui

User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

PythonPyPIOtherollamaollama-webui
openwebui.com
146.1k21.2k
langchain-ai/langchain

The agent engineering platform.

PythonPyPIMIT Licenseaianthropic
docs.langchain.com/langchain/
142.2k23.6k