Pyodide是Mozilla的一个独立社区驱动项目,它提供了一个完全在浏览器中运行的完整 Python 数据科学堆栈。它使用编译为WebAssembly的 CPython 3.8 解释器,并在Iodide(一种用于网络的实验性交互式科学计算环境)中使用 Python、NumPy、Pandas、Matplotlib、SciPy 等。
Pyodide 可用于任何需要在Web浏览器中运行 Python 并具有对 Web API 的完全访问权限的上下文。最新发布说明中提到 Pyodide 将 Python 3.8 运行时转换为 WebAssembly 和 Python 科学堆栈,包括用于数据分析的 Pandas、用于科学计算的 NumPy、用于科学技术计算的 SciPy、用于可视化的 Matplotlib 和用于机器学习的 scikit-learn .
在发布时,目前有75个软件包可用。也可以从 PyPi Python 包管理器安装纯 Python 轮子。Python 0.17 还提供了Python 和 JavaScript 之间对象的透明转换。
Iodide 于 2018 年开发,旨在为 Jupyter 等科学探索和可视化创建浏览器内笔记本。然而,碘化物不再被积极维护。不过,Pyodide 可用于其他交互式客户端笔记本环境。
Pyodide 背后的想法是让科学家更好地使用网络。因此,该团队专注于更好地使用 Javascript 的方法,例如将现有的科学库编译为 WebAssembly 并将它们包装在易于使用的 JS API 中。他们提到 Mozilla 的 WebAssembly 向导提供了一个更高级的想法;如果许多科学家更喜欢 Python,那么该团队决定通过编译 Python 科学堆栈以在 WebAssembly 中运行来帮助他们。
完整的发行说明和公告可在线获取,并包含许多额外的插图和解释。Pyodide 现在已经成为一个独立的、社区驱动的开源项目,在 Mozilla Public License Version 2.0 下分发。
Github:
https://github.com/pyodide/pyodide
Mozilla 博客:
https://hacks.mozilla.org/2019/03/iodide-an-experimental-tool-for-scientific-communicatiodide-for-scientific-communication-exploration-on-the-web/