python / cpython

The Python programming language
https://www.python.org
Other
63.65k stars 30.49k forks source link

gh-127111: Emscripten Make web example work again #127113

Open hoodmane opened 4 days ago

hoodmane commented 4 days ago

I moved the web example from Tools/wasm into Tools/wasm/emscripten/web_example. I also added a new target build_emscripten which is build_wasm but also builds the web_example. The web_example needs:

  1. python.html, copied
  2. python.worker.mjs copied
  3. python.mjs and python.wasm output from the main linking of the Python interpreter
  4. The webserver that sets COOP and COEP
  5. python3.14.zip

This last is created by the wasm_assets.py script, which required a pretty small set of changes to work fine for us.

The last thing that should be done is the python.worker.mjs script should be made independent of the Python version: currently 3.14 is hard coded. I ran into trouble doing this, so maybe I can leave it to a followup.