[25/04/2019] El proyecto experimental Pyodide de Mozilla está trayendo una pila de ciencia de datos Python al navegador web, compilándola en WebAssembly. Pyodide es una implementación de WebAssembly de la biblioteca de computación científica Numpy de Python, la biblioteca de análisis de datos Pandas, y partes de la biblioteca SciPy para matemáticas, ciencias e ingeniería. También se incorpora la librería de ploteo Matplotlib de Python.
Estrechamente relacionado con el proyecto Iodide de Mozilla para hacer ciencia de datos en un navegador, Pyodide puede utilizarse de forma independiente o en cualquier contexto en el que los desarrolladores quieran ejecutar Python en un navegador. Se proporciona conversión transparente de objetos entre JavaScript y Python, lo que le da a Python acceso completo a las APIs web. Los tipos de datos básicos también se convierten implícitamente, mientras que las matrices escritas en JavaScript se convierten a memoryviews de Python.
El ímpetu detrás de Pyodide es que JavaScript, el lenguaje del navegador, no tiene un conjunto maduro de bibliotecas de ciencias de datos. También faltan características de cálculo numérico como la sobrecarga del operador. A Mozilla le gustaría que el ecosistema de ciencia de datos JavaScript avanzara, pero mientras tanto será útil traer una pila científica madura de Python al navegador.
Pyodide utiliza Emscripten para compilar el intérprete estándar de Python, CPython y los paquetes de computación científica, como NumPy, en formato binario WebAssembly, que se ejecuta junto con JavaScript en el navegador web. La carga de Pyodide en el navegador requiere las siguientes descargas:
- El intérprete de Python compilado como WebAssembly.
- JavaScript de Emscripten que emula las capacidades del sistema, como un sistema de archivos virtual, que el intérprete de Python espera.
- Todos los archivos necesarios para el intérprete de Python, incluyendo la biblioteca estándar de Python.
Aunque estos archivos pueden ser grandes, los paquetes solo tienen que ser descargados una vez, por lo que se almacenan en la caché del navegador.
Puede probar el Pyodide ejecutando un cuaderno de demostración en el sitio web de Iodide. (Requiere una descarga de 50MB.) Las instrucciones para construir Pyodide se pueden encontrar en GitHub.
Paul Krill, InfoWorld (EE.UU.)