Ethan Smith, l'un des principaux développeurs de MyPyC, un compilateur de modules Python en code C, a annoncé l'ajout à la base de code de CPython (la mise en œuvre de Python) de modifications permettant de compiler la branche principale de CPython pour un fonctionnement dans le navigateur sans recourir à des correctifs supplémentaires. La compilation se fait en un code intermédiaire universel à bas niveau, WebAssembly, à l'aide du compilateur Emscripten.

Le travail a été approuvé par Guido van Rossum, le créateur du langage de programmation Python, qui a également proposé d'intégrer le support de Python dans le service web github.dev, fournissant un environnement de développement interactif entièrement fonctionnel dans le navigateur. Jonathan Carter de Microsoft a mentionné qu'un travail est actuellement en cours pour mettre en œuvre le support du langage Python dans github.dev, mais que le prototype existant de l'environnement de calcul Jupyter pour github.dev a utilisé le projet Pyodide (une compilation de l'exécution de Python 3.9 en WebAssembly).
La discussion a également abordé la question de la compilation de Python avec support WASI (WebAssembly System Interface) pour utiliser la représentation WebAssembly de Python sans dépendance au navigateur web. Il est noté que la mise en œuvre d'une telle possibilité nécessitera un travail considérable, car le WASI ne fournit pas d'implémentation de l'API pthread, et dans Python, la possibilité de compilation sans inclure la multithreading a été interrompue.
Source : opennet.ru
