Interesting. Past few months I also tried bringing the flexibility of Python to the browser. My first attempt was a DSL with a Python wrapper. However in my second attempt I completely got rid of the DSL. I run Python directly in the browser with pyodide. Time to first run is high but it is amortized with more usage. Also open sourced it: https://pie.tinyvolt.com/
Wow, your project looks really cool. Unlike your goal of running general Python, Manim (the animation engine behind 3Blue1Brown) is essentially a DSL. I looked at publicly available Manim code and found it rarely needs other libraries or complex Python features beyond numpy, so I don't need Pyodide. I only have to transpile it and support numpy.
1 comments