RustPython Demo
RustPython is a Python interpreter written in Rust. This demo is compiled from Rust to WebAssembly so it runs in the browser.
Input your Python code below and click Run (or Ctrl+Enter), or you can open up your browser's devtools and play with rp.pyEval('1 + 1')
Standard Output
Interactive shell
Here's some info regarding the rp.pyEval(), rp.pyExec(), and rp.pyExecSingle() functions
- You can return variables from python and get them returned to JS, with the only requirement being that they're serializable with
json.dumps. - You can pass an options object as the second argument to the function:
stdout: either a string with a css selector to a textarea element or a function that receives a string when theprintfunction is called in python. The default value isconsole.log.vars: an object that will be available in python as the variablejs_vars. Only functions and values that can be serialized withJSON.stringify()will go through.
- JS functions that get passed to python will receive positional args as positional args and kwargs as the
thisargument
Limited Interaction with browser is possible from Python by using the browser module. Browser APIs such as alert(), confirm(), prompt() and fetch() are included in the module.
