This is awesome, I'm happy that Cloudflare is adding more attention into running Python via WebAssembly at the Edge.<p>I'll try to summarize on how they got it running and what are the drawbacks that they have from their current approach (note: I have deep context on running Python with WebAssembly at the Edge as part of my work in Wasmer).<p>Cloudflare Workers are enabling Python at the Edge by using Pyodide [1] (Python compiled to WebAssembly via Emscripten).
They bundled Pyodide into Workerd [2], and then use V8 snapshots [3] to try to accelerate startup times.<p>On their best case, cold starts of Python in Cloudflare Workers are about 1 second.<p>While this release is great as it allows them to measure the interest of running Python at the Edge, it has some drawbacks. So, what are those?<p><pre><code> * Being tied to use only one version of Python/Pyodide (the one that Workerd embeds)
* Package resolution is quite hacky and tied to workerd. Only precompiled "native packages" will be allowed to be used at runtime (eg. using a specific version of numpy will turn to be challenging)
* Architecturally tied to the JS/v8 world, which may show some challenges as they aim to reduce cold start times (in my opinion, it will be quite hard for them to achieve <100ms startup time with their current architecture).
</code></pre>
In any case, I welcome this initiative with my open hands and look forward all the cool apps that people will now build with this!<p>[1] <a href="https://pyodide.org/" rel="nofollow">https://pyodide.org/</a><p>[2] <a href="https://github.com/cloudflare/workerd/blob/main/docs/pyodide.md">https://github.com/cloudflare/workerd/blob/main/docs/pyodide...</a><p>[3] <a href="https://github.com/cloudflare/workerd/pull/1875">https://github.com/cloudflare/workerd/pull/1875</a><p>Edit: updated wording from "proof of concept" to "release" to reflect the clarification from the Cloudflare team