image of Python logoMozilla, the organisation behind the free and open source Firefox web browser and Thunderbird email client, has just released the Pyodide project from its organisation and it will henceforth be managed independently by the community, French IT news site Le Monde Informatique reports. Formed within Mozilla in 2018 as an experimental project to create in full Python stack for data science, the tool is compiled to WebAssembly and can be used to leverage Python in a web browser and give the language full access to web-based APIs. Via WebAssembly, Pyodide thus brings the Python 3.8 runtime to the browser, with its scientific stack including NumPy, Pandas, Matplotlib, SciPy and scikit-learn. Almost 75 packages are currently offered, with the tool providing transparent object conversion between JavaScript and Python.

The project currently has a separate GitHub organisation and documentation site. It will be maintained by volunteers. A governance document and roadmap have been published to set out Pyodide’s targets, including better Python code performance, reducing the size of downloads and simplifying package uploads. The roadmap introduction states:

This document lists general directions that core developers are interested to see developed in Pyodide. The fact that an item is listed here is in no way a promise that it will happen, as resources are limited. Rather, it is an indication that help is welcomed on this topic.

Pyodide can install any Python package in wheel format from the PyPi repository. It also includes an interface which exposes Python packages Python to JavaScript and exposes the browser interface (including the DOM) to Python. Developers can test Pyodide in an REPL environment.

Version 0.17.0 with API revision

Mozilla has at the same time announced the release of Pyodide version 0.17.0 with major maintenance improvements, a revision of the central APIs and the squashing of bugs and memory leaks. Since its creation the project has given rise to plenty of interest and is used in several projects outside Mozilla.