#python #wasm-interpreter #python-3 #cpython #rustpython #compiler #language

rustpython_wasm

使用Rust编写的Python-3(CPython >= 3.5.0)解释器,编译为WASM

2个不稳定版本

0.4.0 2024年8月7日
0.3.0 2023年9月6日

#690 in WebAssembly

Download history 2/week @ 2024-07-29 129/week @ 2024-08-05

每月131次下载

MITLGPL-3.0-only

5.5MB
119K SLoC

Rust 72K SLoC // 0.0% comments Python 48K SLoC // 0.3% comments PowerShell 26 SLoC // 0.5% comments Batch 10 SLoC

RustPython

使用Rust编写的Python-3(CPython >= 3.8.0)解释器。

Build Status License: MIT

警告:此项目仍处于预alpha状态!

在生产项目中使用此项目是不明智的。请仅在了解风险的情况下使用。

使用方法

查看我们的 在线演示,它运行在WebAssembly上。

目标

  • 完全在Rust中实现的Python-3环境(不是CPython绑定)
  • 一个没有兼容性黑客的干净实现

快速文档

pyEval(code, options?);

code: string: 要运行的Python代码

选项:

  • vars?: { [key: string]: any }: 传递给虚拟机的变量,可以在Python中使用变量 js_vars 访问。函数可以工作,并且接收Python kwargs作为 this 参数。
  • stdout?: "console" | ((out: string) => void) | null: 替换原生打印函数的函数,当给定为 undefined 或 "console" 时,它将是 console.log,当给定为null时,它将是一个哑函数。

许可证

此项目受MIT许可证的许可。

依赖项

~34–69MB
~1M SLoC