Mozilla vient de détacher le projet Pyodide de son organisation pour qu’il soit désormais conduit de façon indépendante par la communauté. Né en 2018 au sein de Mozilla sous la forme d’un projet expérimental pour créer une pile Python complète pour la data science, l'outil est compilé vers WebAssembly et peut-être utilisé pour exploiter Python dans un navigateur web et donner au langage un accès complet aux API basées sur le web. Pyodide apporte ainsi le runtime Python 3.8 au navigateur, via WebAssembly, avec sa pile scientifique incluant NumPy, Pandas, Matplotlib, SciPy et scikit-learn. Près de 75 packages sont actuellement proposés. L’outil fournit une conversion transparente d’objets entre JavaScript et Python.

Le projet dispose maintenant d’une organisation GitHub séparé, github.com/pyodide, avec un site de documentation, pyodide.org. Il sera maintenu par des bénévoles. Un document de gouvernance et une feuille de route ont été publiés pour présenter les objectifs tels qu’une meilleure performance pour le code Python, la réduction de la taille des téléchargements et la simplification du chargement des packages. « Ce document répertorie les orientations générales que les principaux développeurs souhaitent voir développées dans Pyodide. Le fait qu'un article soit répertorié ici n'est en aucun cas une promesse que cela se produira, car les ressources sont limitées. C'est plutôt une indication que l'aide est la bienvenue sur ce sujet », précise dès l’abord la feuille de route. Pyodide peut installer n’importe quel package Python au format wheel depuis le référentiel PyPi. Il inclut aussi une interface qui expose les packages Python à JavaScript et expose l’interface du navigateur (dont le DOM) à Python. Les développeurs peuvent tester Pyodide dans un environnement REPL.

Version 0.17.0 avec refonte des API

Parallèlement, Mozilla a annoncé la version 0.17.0 de Pyodide avec des améliorations de maintenance importante, une refonte des API centrales et l’élimination des erreurs et des fuites de mémoire. Depuis sa création, le projet a suscité beaucoup d’intérêt et il est utilisé dans de nombreux projets en dehors de Mozilla. 

Bien que Mozilla ait pris la décision « difficile » de mettre fin au projet Iodide, il maintient toujours le référentiel alpha.iodide.io pour le moment. Néanmoins, l’organisation recommande de ne pas utiliser Iodide pour des travaux importants car il pourrait s’arrêter à l’avenir. En détachant son projet Pyodide et en réduisant son implication sur Iodide, Mozilla poursuit le mouvement qu’il avait engagé. En 2020, l’organisation a licencé 250 personnes dans le cadre d’une restructuration. En février, elle a annoncé avoir transféré les actifs du langage Rust qu’il supportait à la fondation Rust. En novembre dernier, il a transféré à la fondation Linux le moteur de navigateur Servo.