preswald

把 Python 数据应用打包成单个 HTML,浏览器里离线跑,分享像发文档。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 647 🐛 待处理 330 👀 关注 8
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 4267
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,Apache-2.0 许可证,完全免费,可自行部署使用。

项目预览

preswald 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队StructuredLabs
定价模式🏷️完全免费
价格说明开源项目,Apache-2.0 许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型ai,analytics,analytics-engineering,copilot,data,data-applications,data-infrastructure,data-pipelines,data-sdk,data-visualization,gpt,llm,open-source,python,schema-management,vscode
GitHub 星标★ 4267
上线时间2024-12-14 00:00:00
代码更新2026-06-11
仓库体积99.2 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数8

项目介绍

Preswald 是一个面向 Python 交互式数据应用的 WASM 打包工具。它解决的核心问题是:传统数据应用(如仪表盘、报告)依赖服务器或 Python 环境,部署和分享成本高。Preswald 能将基于 Pandas、Plotly、Matplotlib 等库的复杂数据工作流打包成单个 HTML 文件,借助 Pyodide 在浏览器中直接运行,无需后端。用户可以用 Python 编写数据处理和可视化逻辑,最终产出一个离线可用、加载迅速、像文档一样易分享的文件。其核心能力包括:自动将 Python 依赖(如 DuckDB、Pandas)编译为 WebAssembly,集成 Plotly/Matplotlib 交互图表,支持构建仪表盘、报告和笔记本,并强调离线运行和文档式分发体验。该项目处于成长阶段,为数据科学家和开发者提供了一种全新的应用交付方式。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4267

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

环境要求

  • Python 环境(README 指向 python.org/downloads,建议 3.9+)
  • 已安装 pip 或 uv 包管理器
  • 可访问 PyPI 的网络环境

安装与启动步骤

  1. 1安装 Preswald

    用 pip 全局安装 preswald 包;若使用 uv,可执行 uv pip install preswald。建议在虚拟环境中安装以避免依赖冲突。

    pip install preswald
  2. 2初始化应用

    在当前目录生成名为 my_app 的模板工程,包含 hello.py、preswald.toml、secrets.toml、data/sample.csv 和 images/logo.png。

    preswald init my_app
  3. 3进入项目目录

    切换到刚生成的 my_app 目录,后续所有命令都在该目录下执行。

    cd my_app
  4. 4编写应用逻辑

    编辑 hello.py,用 preswald 提供的 text、table、get_df 等组件写页面。README 示例先输出标题,再读取 sample.csv 并渲染表格。

  5. 5启动开发服务器

    在项目目录执行 preswald run,会拉起开发服务器。默认端口通常为 8501,可在 preswald.toml 的 [project] port 中修改。

    preswald run
  6. 6浏览器访问应用

    打开浏览器访问终端提示的地址,默认 http://localhost:8501,即可看到你的第一个 Preswald 应用。

关键配置

配置项必填说明示例
project.title否应用标题元数据Preswald Project
project.version否应用版本号0.1.0
project.port否开发服务器监听端口8501
project.slug否应用标识 slugpreswald-project
project.entrypoint否入口 Python 文件hello.py
logging.level否日志级别,可选 DEBUG/INFO/WARNING/ERROR/CRITICALINFO

如何确认成功

运行 preswald run 后终端出现 “ App running at: http://localhost:8501”,浏览器打开该地址能看到页面内容。

常见问题

Q:必须本地安装 DuckDB、Pandas 吗?

A:不需要。Preswald 基于 WASM 运行时(Pyodide + DuckDB),数据计算在浏览器中执行,无需本地依赖和后端服务。

Q:可以用 uv 安装吗?

A:可以。README 给出两种方式:pip install preswald 或 uv pip install preswald,任选其一即可。

Q:默认端口 8501 被占用怎么办?

A:修改 preswald.toml 中 [project] 的 port 字段,改成其他端口后重新执行 preswald run。

Q:API 密钥等敏感信息放哪?

A:放在项目根目录的 secrets.toml 中,初始化时会自动生成该文件,用于存放 API keys 等机密配置。

注意事项

  • 初始化生成的 data/sample.csv 与 images/logo.png 分别是示例数据与品牌图片,可替换为自己的文件。
  • preswald.toml 同时管理元数据、运行时设置、UI 品牌(branding)与数据源配置。
  • 主题色等外观可在 [branding] 中设置,例如 primaryColor = "#F89613"。

核心亮点

  • 一键打包 Python 数据应用为单文件,无需服务器,直接浏览器运行
  • 深度集成 Pyodide、DuckDB、Pandas,离线也能处理复杂数据
  • 支持 Plotly/Matplotlib 交互可视化,应用体验接近原生

不足之处

  • 打包后文件体积可能较大,影响加载速度
  • 文档/社区待观察

适用场景

  • 快速分享数据报告给非技术同事,对方无需配置环境
  • 构建离线可用的内部数据仪表盘,部署在本地或内网
  • 教学场景中分发可交互的数据分析笔记本

替代项目

Streamlit、Dash、PyWebIO

上一篇:QOwnNotes

下一篇:xiaoju-survey

同类项目推荐

clipboardline 开源

复制过的文字截图自动归档,随时搜回

ClipBoardLine: macOS and Windows clipboard shelves and local library, inspired by Te···

★ 331 2026-11-10
ai-job-search-cn 开源

按岗位自动生成简历要点和求职信,批量投递更省事

Chinese-market job application assistant, forked and localized from MadsLorentzen/ai···

★ 113 2026-11-07
Local-File-Organizer 开源

本地AI自动整理文件,隐私安全,检索快人一步

An AI-powered file management tool that ensures privacy by organizing local texts, i···

★ 3370 2026-08-09
NeoBaseAI-Copilot-for-database 开源

用聊天的方式操作数据库,实时分析并可视化数据。

Your AI Data Copilot - Interact with your data sources and analyse your data, operat···

★ 69 2026-08-09
chatgpt-timestamp-extension 开源

给ChatGPT每条消息加上时间戳,对话时间一目了然

Free, open-source Chrome and Firefox extension to show local dates and times on Chat···

★ 78 2026-08-09
mkdocs-llmstxt 开源

给 MkDocs 文档站自动生成面向大模型的 llms.txt 索引

MkDocs plugin to generate an /llms.txt file (https://llmstxt.org/).

★ 132 2026-10-24
odin-slides 开源

丢进 Word,自动生成 PPT,省下熬夜做幻灯片的命。

This is an advanced Python tool that empowers you to effortlessly draft customizable···

★ 154 2026-08-09
convenient_window_free 开源

鼠标划到屏幕边角,分屏截图取字一步到位

Windows 11 desktop enhancer for hot zones, edge hiding, window layouts, mouse gestur···

★ 196 2026-11-08
parsel 开源

PHP 里直接解析 PDF 和图片文字,不用另起服务

A fast, helpful, and open-source document parser for PHP

★ 369 2026-09-30