Python 3.11 in the Web Browser - A Journey
Christian Heimes
Python is ubiquitous, popular and runs almost everywhere – even on Mars. But there is one place that Python has not yet conquered: the browser. Python 3.11 may finally lay the foundation to make an old dream come true and have Python in the web browser.
In my talk I will explain how to cross-compile CPython 3.11 to Web Assembly and demonstrate how to run CPython in JavaScript engines. The talk will cover
- Why are some core developers and contributors working on Web Assembly port?
- What is WASM and how do builds for browser, node, and WASI differ? What are the features and limitations of different WASM targets?
- A short introduction to Python’s build system and how cross compiling works.
- What problems did we run into and how did we have to modify CPython’s sources for WASM?
- What is missing to make web browser support stable and usable in production?
- A comparison to existing solutions like Pyodide.
- What does WASM support mean for the community and PyPI packages?
Christian Heimes
Affiliation: Red Hat
Christian is an open source developer and Python core developer from Hamburg/Germany. He is well known for his work in the Python Security Response Team and as maintainer of CPython's ssl module.
visit the speaker at: Github