Mozilla has spun out Pyodide as an independent community-driven project aimed at enabling Python to run in the browser to support data science workloads.
Pyodide has reached release 0.17.0, adding several new features and improvements. As it has become an independent project, Pyodide has been given a new home in a separate GitHub organisation (github.com/pyodide) and is maintained by a volunteer team of contributors.
According to the Mozilla Hacks blog, Pyodide comprises the CPython 3.8 interpreter compiled to WebAssembly which allows Python to run in the browser. A selection of popular Python scientific packages have also been compiled and made available, and Pyodide can install any Python package with a pure Python wheel from the Python Package Index (PyPi).
Pyodide 0.17.0 was hailed as a major step forward from previous versions by the project team, and includes a redesign of the central APIs, and careful elimination of error and memory leaks.
Another major new feature is the implementation of a Python event loop that schedules coroutines to run on the browser event loop. This makes it possible to use the asyncio library for concurrent programming in Pyodide.
Pyodide was originally developed by Mozilla to allow the use of Python in Iodide, an earlier effort to build an interactive scientific computing environment for the web. But while Pyodide has attracted a large amount of interest from the community, the Iodide project is being wound down.