pyodide
https://github.com/CNSeniorious000/pyodide
pyodide fork,浏览器里跑 Python。WASM 编译 CPython。
我的改动¶
补丁 httpx 同步支持,uv 依赖解析。
生态
pyodide-httpx, uv-for-pyodide 等。
相关:
重要链接¶
- 仓库:https://github.com/CNSeniorious000/pyodide
- 上游 README:https://github.com/pyodide/pyodide
- 相关示例(pyodide-httpx):https://github.com/CNSeniorious000/pyodide-httpx
浏览器 Python 魔法。
深入洞见¶
在你的 fork 中,浏览器网络栈被模块化:src/py/pyodide/http/_pyfetch.py 实现了基于浏览器 fetch 的异步封装(支持 abort、buffer/text/json 等方法),而 src/py/pyodide/http/_pyxhr.py 则提供了基于 XMLHttpRequest 的同步路径,使在浏览器环境里能以同步风格读取 URL(适用于 run_sync 场景)。commit 历史显示你把原来的 http.py 拆分为模块并补入 sync 支持,但真正对 httpx 的 monkey-patch 实现在独立仓库 pyodide-httpx 中,这样的分离有助于在不改动核心代码的情况下,单独维护浏览器 HTTP 兼容层。
参考源码(fork):
src/py/pyodide/http/_pyfetch.py(async fetch)src/py/pyodide/http/_pyxhr.py(sync XHR compatibility)