Cloudflare estabiliza Python en Workers tras dos años de preview
El lenguaje pasa a tener soporte completo en la plataforma, pero la implementación con Pyodide sobre WebAssembly deja fuera los hilos y los procesos paralelos.
Cloudflare ha declarado estable el soporte de Python en Workers después de dos años en preview. La compañía lo describe como un lenguaje de primera clase y con soporte completo dentro de su plataforma para desarrolladores. Lo interesante es cómo lo ha montado: el código no corre nativo, sino compilado a WebAssembly con Pyodide sobre workerd, el runtime basado en V8 que ya sostiene el resto del producto.
Los límites del runtime
Esa decisión tiene consecuencias que conviene leer antes de mover nada a producción. La documentación de la librería estándar reconoce que hay partes que no funcionan dentro de la máquina virtual de WebAssembly, y las dos que más duelen son el multiprocessing y el threading. Un worker que dependa de hilos o de procesos paralelos no se arregla cambiando el punto de entrada: hay que rediseñar esa parte o sacarla fuera del worker.
Para lotes pequeños, APIs y tareas de pegamento, el modelo encaja sin dramas. Para lo que necesite exprimir varios núcleos dentro de la misma instancia, no.
El simulacro local
El detalle que más se agradece es el entorno de desarrollo. La herramienta pywrangler, empaquetada en PyPI bajo el nombre workers-py, levanta una simulación completa del stack en local: ejecuta el código con Pyodide en WebAssembly dentro de V8, y para eso se descarga un binario workerd de 123 MB. En un Mac con Apple Silicon acaba, por ejemplo, en node_modules/@cloudflare/workerd-darwin-arm64/bin/workerd. Que el binario sea grande no es un problema en sí; que el simulador sea fiel al entorno real sí es la diferencia entre depurar en la máquina propia y depurar contra el borde.
El anuncio lo firman Gyeongjae Choi, Dominik Picheta y Hood Chatham. Los dos primeros nombres, en realidad Gyeongjae y Hood, son maintainers del núcleo de Pyodide, y ese detalle da la medida de por dónde va la apuesta: Cloudflare no ha metido un intérprete propio en el runtime, se ha apoyado en el proyecto y ha puesto ingenieros suyos a trabajar en él.
Para quien administra Workers, la decisión es ahora una elección real de lenguaje junto a JavaScript y TypeScript, con la ventaja de reutilizar código Python ya existente y el coste de asumir las limitaciones del runtime. Para el ecosistema, el movimiento empuja a Pyodide como forma de ejecutar Python fuera del navegador, que hasta ahora era su hábitat natural. La ausencia de concurrencia real dentro de la VM sigue siendo el punto abierto: mientras no cambie, Python en Workers es cómodo para unas cargas y directamente descartable para otras.


