跳转至

pyodide

https://github.com/CNSeniorious000/pyodide

pyodide fork,浏览器里跑 Python。WASM 编译 CPython。

我的改动

补丁 httpx 同步支持,uv 依赖解析。

生态

pyodide-httpx, uv-for-pyodide 等。

相关:

重要链接

浏览器 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)