Mozilla leva ciência de dados em Python para o navegador
O projeto Pyodide usa Emscripten e WebAssembly para executar Python e suas bibliotecas de dados científicos em qualquer navegador
O projeto experimental do Mozilla, o Pyodide, está levando uma pilha de ciência de dados do Python para o navegador web, compilando-a para o WebAssembly. O Pyodide é uma implementação do WebAssembly da biblioteca de computação científica Numpy do Python, da biblioteca de análise de dados Pandas e de partes da biblioteca SciPy para matemática, ciências e engenharia. A biblioteca de plotagem Matplotlib do Python também é incorporada.
Intimamente relacionado ao projeto Iodide da Mozilla para introduzir ciência de dados em um navegador, o Pyodide pode ser usado de forma independente ou em qualquer contexto em que os desenvolvedores desejem executar o Python em um navegador. A conversão transparente de objetos é fornecida entre o JavaScript e o Python, dando ao Python acesso total às APIs da web. Os tipos de dados básicos também são convertidos implicitamente, enquanto as matrizes de JavaScript são convertidas em exibições de memória do Python.
O ímpeto por trás do Pyodide é que o JavaScript, a linguagem do navegador, não possui um conjunto maduro de bibliotecas de ciência de dados. Recursos de computação numérica, como sobrecarga de operadores, também estão ausentes. A Mozilla gostaria de ver o ecossistema da ciência de dados de JavaScript avançar, e trazer uma pilha científica Python madura para o navegador será útil nesse meio tempo.
O Pyodide usa o Emscripten para compilar os pacotes padrão de interpretador do Python, CPython e computação científica, como o NumPy, para o formato binário WebAssembly, que é executado ao lado do JavaScript no navegador web. Carregar o Pyodide no navegador requer os seguintes downloads:
• O interpretador do Python compilado como WebAssembly.
• JavaScript do Emscripten que emula recursos do sistema, como um sistema de arquivos virtual, que o interpretador do Python espera.
• Todos os arquivos necessários ao interpretador do Python, incluindo a biblioteca padrão do Python.
Embora esses arquivos possam ser grandes, os pacotes só precisam ser baixados uma vez, após são armazenados no cache do navegador.
Você pode experimentar o Pyodide executando um notebook de demonstração no site da Iodide. (Requer um download de 50 MB). Instruções para a construção do Pyodide podem ser encontradas no GitHub.