03:23Simon Willison’s Weblog(博客/媒体)精选Simon Willison 用 Claude Code for web 构建了一个测试界面,用于探索 OPFS(Origin Private File System)与 Pyodide 的组合。该工具旨在验证 Datasette Lite(基于 Pyodide 和 WebAssembly 的浏览器内 Python 应用)能否编辑用户电脑上的持久 SQLite 文件。测试结果可在不同浏览器中运行。技巧OPFSPyodideDatasette LiteClaude Code浏览器文件系统推荐理由:Simon 用它测试 Pyodide + OPFS 能否让 Datasette Lite 编辑本地 SQLite 文件,适合想搞浏览器端 Python 数据库的人。原文
08:52Simon Willison’s Weblog(博客/媒体)精选Pyodide 314.0 版本发布,允许开发者将针对 Pyodide 或兼容 PyEmscripten 平台的 Python 包直接发布到 PyPI 并运行时安装。此前 Pyodide 维护者需自行维护超 300 个包,成为社区瓶颈。现在包维护者可用 cibuildwheel 构建 WASM 轮子并发布,如 luau-wasm 包(276KB)已支持在 Pyodide 中通过 micropip 安装。目前已有 28 个 PyPI 包使用该平台。AI产品PyodideWASMPyPIPythonWebAssembly推荐理由:Pyodide 终于能直接发布 WASM 包了原文
08:51Simon Willison’s Weblog(博客/媒体)luau-wasm 0.1a0 版本发布,将 Lua 语言编译为 WebAssembly 格式,并打包为 Python wheel 上传至 PyPI。该版本允许用户在 Pyodide 环境中直接通过 Python 调用 Lua 代码。项目基于 Luau(Roblox 的 Lua 衍生版)实现,提供了更严格的类型检查和性能优化。AI产品luau-wasmLuaWebAssemblyPyodidePyPI推荐理由:在浏览器里跑 Lua 了原文
08:08Simon Willison@simonwSimon Willison宣布了将Python扩展(C、C++、Rust等)编译为WebAssembly并通过PyPI分发的方法。Pyodide可以直接安装这些编译后的包,无需额外构建步骤。这利用了Pyodide的包管理机制,使纯WebAssembly的Python生态扩展成为可能。该流程依赖Pyodide的特定配置和构建工具,包括PyO3和maturin等。技巧PyodideWebAssemblyPyPIPython扩展推荐理由:教你如何让Python扩展跑在浏览器里原文
05:24Simon Willison’s Weblog(博客/媒体)精选72°Simon Willison 通过 Claude Opus 4.8 的帮助,成功让 Python ASGI 应用(如 Datasette)在浏览器中通过 Pyodide 和 Service Worker 运行。此前使用 Web Worker 的方案无法执行 HTML 中的 <script> 标签,限制了插件功能。新方案利用 Service Worker 拦截网络请求,使得 JavaScript 代码能够正常执行,从而支持更多 Datasette 插件。目前已有基础 ASGI FastCGI 演示和 Datasette 1.0a31 演示,未来将升级 Datasette Lite。AI产品PyodideService WorkerASGIDatasetteWebAssembly推荐理由:解决了浏览器中运行 Python Web 应用时 JavaScript 无法执行的痛点,做 Datasette 插件或 Pyodide 相关项目的开发者可以直接试用新 demo。原文