pypyjs
webassembly.sh
pypyjs | webassembly.sh | |
---|---|---|
6 | 5 | |
1,852 | 276 | |
0.0% | 1.1% | |
0.0 | 0.0 | |
about 5 years ago | almost 1 year ago | |
Python | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pypyjs
-
How are lines of code actually ran an implemented?
In fact, several people did do exactly that: https://github.com/pypyjs/pypyjs https://www.npmjs.com/package/jspython-interpreter
-
CPython's main branch running in the browser with WebAssembly
I don't remember that game specifically, but I assume it used PyPy.js,
https://github.com/pypyjs/pypyjs
-
ggtex: how to create complex text objects in Geogebra
Does it work with https://github.com/pypyjs/pypyjs ? If so you could host a live version at fnaufel.github.io
-
{ interesting _title }
There's always a way!
-
Will ms EXCEL ever use python as scripting language
You could use pypyjs to use python in Excel.
-
Translate python to JS
In addition to transpilers, you can look into embedded Python runtimes. PyPy.js technically allows you to run Python code from JavaScript, though this specific project hasn't seen much activity for a few years.
webassembly.sh
- My web-based desktop environment that was first announced here reaches 500,000 alpha users!
- WebAssembly.sh
-
How I got Ruby snippets to run browser side in less than a day
Runno installs its packages using WAPM, it's based off a fork of WebAssembly.sh and so adding support for a new language already on WAPM is quite simple. If you're interested here's the PR. The important change is:
-
CPython's main branch running in the browser with WebAssembly
In WebAssembly.sh (https://github.com/wasmerio/webassembly.sh) they run WASM binaries in a Web Worker and then use `SharedArrayBuffer` to block the WebWorker while the main thread does some work (e.g. collect input). You could use a similar solution.
When building Runno (https://runno.dev) I forked off that project and did a bunch of other things on top to get blocking to work in Safari and non-cross-origin-isolated contexts.
Ultimately I think it's JavaScript's (or whichever host language) responsibility to block when the binary calls out (if that is the expected semantics).
What are some alternatives?
brython - Brython (Browser Python) is an implementation of Python 3 running in the browser
lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly
fengari - 🌙 φεγγάρι - The Lua VM written in JS ES6 for Node and the browser
pyodide - Pyodide is a Python distribution for the browser and Node.js based on WebAssembly
xlwings - xlwings is a Python library that makes it easy to call Python from Excel and vice versa. It works with Excel on Windows and macOS as well as with Google Sheets and Excel on the web.
wasm-libxml2 - A quick experiment to build and run libxml2 as a WebAssembly module.
absurd-sql - sqlite3 in ur indexeddb (hopefully a better backend soon)
emscripten - Emscripten: An LLVM-to-WebAssembly Compiler