项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 4267
技术标签
使用教程
环境要求
- Python 环境(README 指向 python.org/downloads,建议 3.9+)
- 已安装 pip 或 uv 包管理器
- 可访问 PyPI 的网络环境
安装与启动步骤
-
1安装 Preswald
用 pip 全局安装 preswald 包;若使用 uv,可执行 uv pip install preswald。建议在虚拟环境中安装以避免依赖冲突。
pip install preswald -
2初始化应用
在当前目录生成名为 my_app 的模板工程,包含 hello.py、preswald.toml、secrets.toml、data/sample.csv 和 images/logo.png。
preswald init my_app -
3进入项目目录
切换到刚生成的 my_app 目录,后续所有命令都在该目录下执行。
cd my_app -
4编写应用逻辑
编辑 hello.py,用 preswald 提供的 text、table、get_df 等组件写页面。README 示例先输出标题,再读取 sample.csv 并渲染表格。
-
5启动开发服务器
在项目目录执行 preswald run,会拉起开发服务器。默认端口通常为 8501,可在 preswald.toml 的 [project] port 中修改。
preswald run -
6浏览器访问应用
打开浏览器访问终端提示的地址,默认 http://localhost:8501,即可看到你的第一个 Preswald 应用。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
project.title | 否 | 应用标题元数据 | Preswald Project |
project.version | 否 | 应用版本号 | 0.1.0 |
project.port | 否 | 开发服务器监听端口 | 8501 |
project.slug | 否 | 应用标识 slug | preswald-project |
project.entrypoint | 否 | 入口 Python 文件 | hello.py |
logging.level | 否 | 日志级别,可选 DEBUG/INFO/WARNING/ERROR/CRITICAL | INFO |
如何确认成功
运行 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···
ai-job-search-cn
开源
按岗位自动生成简历要点和求职信,批量投递更省事
Chinese-market job application assistant, forked and localized from MadsLorentzen/ai···
Local-File-Organizer
开源
本地AI自动整理文件,隐私安全,检索快人一步
An AI-powered file management tool that ensures privacy by organizing local texts, i···
NeoBaseAI-Copilot-for-database
开源
用聊天的方式操作数据库,实时分析并可视化数据。
Your AI Data Copilot - Interact with your data sources and analyse your data, operat···
chatgpt-timestamp-extension
开源
给ChatGPT每条消息加上时间戳,对话时间一目了然
Free, open-source Chrome and Firefox extension to show local dates and times on Chat···
mkdocs-llmstxt
开源
给 MkDocs 文档站自动生成面向大模型的 llms.txt 索引
MkDocs plugin to generate an /llms.txt file (https://llmstxt.org/).
odin-slides
开源
丢进 Word,自动生成 PPT,省下熬夜做幻灯片的命。
This is an advanced Python tool that empowers you to effortlessly draft customizable···
convenient_window_free
开源
鼠标划到屏幕边角,分屏截图取字一步到位
Windows 11 desktop enhancer for hot zones, edge hiding, window layouts, mouse gestur···
parsel
开源
PHP 里直接解析 PDF 和图片文字,不用另起服务
A fast, helpful, and open-source document parser for PHP
