← Back to Demos

Python 3 in WebAssembly

This demo will load Linux python3 binaries (x86-32), convert them just-in-time to WebAssembly with CheerpX, and run them in browser. Please allow some time for the environment to load.
How does it work?

CheerpX

Wasm Virtualization

CheerpX is the first virtualization engine for WebAssembly. It allows to run x86 executables virtualized in WebAssembly, in browser.

JIT

An advanced JIT engine converts x86 machine code into WebAssembly on the fly, allowing pure client-side execution of pre-compiled binaries.

Safe

Browsers isolate the system through sandboxing and gatekeeping. Virtualised x86 executables run fully sandboxed client-side.

← Back to Demos

It looks like CheerpX could not start

CheerpX uses WebAssembly tail calls. Not all browsers support them out of the box (yet).

You can follow our tutorials below, to run your browser with tail calls, or watch a video of the demo if you prefer not to.

Want to interact with the demo yourself?

  • Open a Terminal/Command Prompt
  • Enter the following command:
    chromium --incognito --js-flags="--experimental-wasm-return-call"
  • Navigate back to this page. That's it!
  • Open a Terminal/Command Prompt
  • Enter the following command:
    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --js-flags=“--experimental-wasm-return-call”
  • Navigate back to this page. That's it!
  • Download Chromium from here: https://chromium.woolyss.com/download/en/
  • Go to the start menu, and open 'Windows PowerShell'
  • Enter the following command:
    Start-Process -FilePath "$env:LOCALAPPDATA\Chromium\Application\chrome.exe" -js-flags="--experimental-wasm-return-call"
  • Navigate back to this page. That's it!

Want to see the demo in action?