2 unstable releases
0.4.0 | Aug 7, 2024 |
---|---|
0.3.0 | Sep 6, 2023 |
#980 in WebAssembly
71 downloads per month
5.5MB
119K
SLoC
RustPython
A Python-3 (CPython >= 3.8.0) Interpreter written in Rust.
WARNING: this project is still in a pre-alpha state!
Using this in a production project is inadvisable. Please only do so if you understand the risks.
Usage
Check out our online demo running on WebAssembly.
Goals
- Full Python-3 environment entirely in Rust (not CPython bindings)
- A clean implementation without compatibility hacks
Quick Documentation
pyEval(code, options?);
code
: string
: The Python code to run
options
:
vars?
:{ [key: string]: any }
: Variables passed to the VM that can be accessed in Python with the variablejs_vars
. Functions do work, and receive the Python kwargs as thethis
argument.stdout?
:"console" | ((out: string) => void) | null
: A function to replace the native print function, and it will beconsole.log
when givingundefined
or "console", and it will be a dumb function when giving null.
License
This project is licensed under the MIT license.
Dependencies
~36–71MB
~1M SLoC