Episode 154: Targeting WebAssembly Platforms & Distilling a Minimum Viable Python
The Real Python Podcast
Apr 28, 2023 1h 19m
Are you familiar with the different versions of WebAssembly? Could WASM be the “write once, run everywhere” solution that developers have searched for? Where does distributing Python applications fit in the narrative? This week on the show, we have CPython core developer Brett Cannon to discuss his recent articles about WebAssembly and MVPy.
Episode Sponsor:
Brett has completed his syntactic sugar series, which we discussed in a previous episode. He details the origin of the series and his process of unearthing a minimum viable version of Python. Brett shares how he updated his PyCon US talk on the subject after feedback from presenting it at PyCascades.
We also dig deep into WebAssembly, specifically WebAssembly System Interface (WASI). Brett explains the concept of a “platform target triple” and the importance of defining which system CPython is compiled for. We also discuss WebAssembly becoming a ubiquitous distribution system.
Course Spotlight: Python Basics: Building Systems With Classes
In this video course, you’ll learn how to work with classes to build complex systems in Python. By composing classes, inheriting from other classes, and overriding class behavior, you’ll harness the power of object-oriented programming (OOP).
Topics:
- 00:00:00 – Introduction
- 00:02:05 – PyCascades 2023
- 00:02:56 – Using social media for polls and checking interest
- 00:06:02 – Completing the syntactic sugar blog series
- 00:15:29 – Minimum Viable Python (MVPy) and WebAssembly
- 00:19:29 – Other teams focusing on WebAssembly
- 00:21:31 – Sponsor: Courier
- 00:22:13 – Stack of technology
- 00:26:50 – WebAssembly and its platform targets
- 00:32:35 – WASI and connecting to a runtime
- 00:38:33 – Extension modules and dynamic libraries
- 00:47:29 – Overcoming road blocks and envisioning a new WASI assignment
- 00:51:51 – Video Course Spotlight
- 00:53:26 – PEP 11 & CPython platform support for WASI
- 01:03:11 – Machine-specific runtime
- 01:04:57 – Write once, run everywhere
- 01:13:14 – Talks and summits planned for PyCon 2023
- 01:18:00 – Thanks and goodbye
Show Links:
- MVPy: Minimum Viable Python
- Python’s Syntactic Sugar - PyCon US 2023
- Episode #47: Unraveling Python’s Syntax to Its Core With Brett Cannon – The Real Python Podcast
- syntactic sugar - Tall, Snarky Canadian
- Brett Cannon (@brettcannon@fosstodon.org) - Fosstodon
- WASI - wasi.dev
- WebAssembly and its platform targets
- Introducing the Disney+ Application Development Kit (ADK) - Mike Hanley
- Compute@Edge services using WebAssembly - Fastly Developer Hub
- Experimental - Python for the Web - Visual Studio Marketplace
- PEP 11 – CPython platform support - peps.python.org
- Testing a Python project using the WASI build of CPython with
pytest
- The rise of WebAssembly - InfoWorld
- Can WASM become the new Docker?
- bytecodealliance/wasmtime: A fast and secure runtime for WebAssembly
- Emscripten - Dev Documentation
- PyScript - Run Python in your HTML