Pyodide es un proyecto experimental de Mozilla que proporciona un intérprete de Python que se ejecuta completamente en el navegador. Tiene acceso completo a todas las APIs que proporciona un navegador. Si bien Pyodide esta estrechamente relacionado con el proyecto Iodide (Herramienta experimental para la comunicación científica y la exploración en la web), también se puede utilizar de forma independiente en cualquier contexto en el que desee ejecutar Python dentro de un navegador web.
Pyodide le ofrece un intérprete de Python completo y estándar que se ejecuta completamente en el navegador, con acceso completo a las API web del navegador. Como ejemplo la pagina de Mozilla presenta un script simple que permite dibujar en la ventana del navegador
from js import document, iodide canvas = iodide.output.element('canvas') canvas.setAttribute('width', 450) canvas.setAttribute('height', 300) context = canvas.getContext("2d") context.strokeStyle = "#df4b26" context.lineJoin = "round" context.lineWidth = 5 pen = False lastPoint = (0, 0) def onmousemove(e): global lastPoint if pen: newPoint = (e.offsetX, e.offsetY) context.beginPath() context.moveTo(lastPoint[0], lastPoint[1]) context.lineTo(newPoint[0], newPoint[1]) context.closePath() context.stroke() lastPoint = newPoint def onmousedown(e): global pen, lastPoint pen = True lastPoint = (e.offsetX, e.offsetY) def onmouseup(e): global pen pen = False canvas.addEventListener('mousemove', onmousemove) canvas.addEventListener('mousedown', onmousedown) canvas.addEventListener('mouseup', onmouseup)
Y esto es lo que parece:
Para crear Pyodide, el equipo ha utilizado el código fuente del intérprete de Python, CPython y los paquetes de computación científica, como NumPy. Hicieron algunos pequeños cambios para que estas herramientas funcionaran en el nuevo entorno. Y finalmente el código se compiló a WebAssembly utilizando el compilador de Emscripten.
Pero la mejor manera de aprender más sobre la capacidad de Pyodide es probarlo y para esto Mozilla deja un Demo Notebook (50 MB) que recorre las funciones de alto nivel.
Para leer más del proyecto Pyodide visita hacks.mozilla.org
enjoy!!!!
WhatsApp anuncio a través de su blog que ya se encuentra disponible la función de envío de fotos y videos TEMPORALES, es[...]
123d.circuits.io es una aplicación web propiedad de Autodesk que permite construir circuitos en un protoboard virtual. C[...]
JSON Crack es un plugin para Visual Studio Code que permite analizar, validar y depurar archivos JSON de manera rápida y[...]
¿Qué es un Trait en Laravel? Los Trait son una forma que laravel tiene para reutilizar el código, son similares a las cl[...]
En diciembre de 1990 se desarrolló una aplicación llamada WorldWideWeb en una máquina NeXT (programado con el lenguaje O[...]
La autenticación basada en API keys es un método para proteger el acceso a una API. Se utiliza una clave alfanumérica ún[...]