Cloudflare passt seine Workers-Plattform auf Python an

Mit der Integration von Pyodide in die Workers Runtime steht Entwicklern beim Schreiben neuer Cloudflare Workers Python alternativ zu JavaScript zur Verfügung.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Cloudflare passt seine Workers-Plattform auf Python an

(Bild: Funtap / Shutterstock.com)

Lesezeit: 2 Min.

Der Infrastruktur- und DNS-Dienstleister Cloudflare kündigt eine Erweiterung der Programmieroptionen für seine Serverless-Plattform Cloudflare Workers an. Entwicklerinnen und Entwickler können ab sofort neben JavaScript, TypeScript oder Rust auch Python unmittelbar zum Programmieren neuer Workers nutzen – dank Integration von Pyodide in die Workers Runtime workerd. Cloudflare hat die neuen Python Workers offiziell als offene Betaversion freigegeben.

Um vom Start weg umfassenden Support für Python gewährleisten zu können, hat sich das Cloudflare-Entwicklungsteam entschlossen, die Programmiersprache direkt in die Workers-Plattform zu integrieren – bisher notwendiges Kompilieren nach WebAssembly oder JavaScript entfällt. Die Wahl fiel dabei auf Pyodide, eine Portierung von CPython nach WebAssembly (Emscripten), die direkt im Webbrowser läuft und den Großteil der Python-Standardbibliothek unterstützt. Mit Pyodide lassen sich zudem viele populäre Packages wie regex, pyyaml, numpy und pandas nutzen, sowie weitere aus dem Python Package Index (PyPI) einbinden.

Cloudflare hat Pyodide in die Open-Source-Runtime workerd integriert, sodass Bindings – auch zu anderen Cloudflare-Anwendungen wie Vectorize, Workers AI, R2 oder Durable Objects – unmittelbar zur Verfügung stehen. Packages lassen sich ohne zusätzliche Build-Schritte oder Werkzeuge importieren. Das Foreign Function Interface (FFI) in Pyodide ermöglicht Entwicklerinnen und Entwicklern direkt aus Python heraus auch JavaScript APIs aufzurufen. Beim Programmieren neuer Workers steht dadurch der gleiche Funktionsumfang zur Verfügung wie bei JavaScript.

Einen weiteren Vorteil von Pyodide sieht das Cloudflare-Team darin, dass sich sowohl der Interpreter als auch sämtliche nativen Python-Module als separate WebAssembly-Module bauen und zur Laufzeit dynamisch verlinken lassen. Workers, die auf einer Maschine laufen, können dann den gleichen Code der Module nutzen, statt eine eigene Kopie davon mitbringen zu müssen. Das zahle sich vor allem in Umgebungen mit Tausenden Workers aus.

Mehr Details zur Integration von Python in die Workers-Plattform finden sich im Cloudflare-Blog. Wer sich darüber hinaus genauer informieren oder sich auch aktiv einbringen möchte, sollte einen Blick in die Diskussionen auf GitHub werfen.

(map)