Cloudflare hat die allgemeine Verfügbarkeit (GA) von Python Workers angekündigt, zwei Jahre nachdem das Unternehmen Python Workers als Möglichkeit vorgestellt hatte, Python-Anwendungen innerhalb der Umgebung von Cloudflare Workers auszuführen. Mit diesem Schritt ist Python offiziell eine unterstützte Sprache innerhalb der Cloudflare Developer Platform. Dadurch können bekannte Bibliotheken und Frameworks genutzt und mit Cloudflare-Diensten verbunden werden, ohne eine Verbindungsschicht in JavaScript schreiben zu müssen.
Die neue Umgebung ermöglicht die Ausführung der Frameworks FastAPI, Django und Flask sowie weiterer Frameworks, die mit WSGI oder ASGI kompatibel sind. Cloudflare stellt Konnektoren wie workers.asgi und workers.wsgi bereit, um Workers-Anfragen in die von Python-Anwendungen erwartete Struktur umzuwandeln. Die Workers-Plattform übernimmt dabei die Verarbeitung eingehender Anfragen, die Skalierung und den Lastenausgleich.
Direkte Integration mit Cloudflare-Diensten
Eine der wichtigsten praktischen Änderungen ist die direkte Unterstützung von Cloudflare-Bindings in Python. Zuvor erforderte die Übergabe von Python-Objekten an Dienste wie Queues eine manuelle Umwandlung in JavaScript-Objekte mithilfe von Pyodide und JavaScript-Schnittstellen. Nun übernehmen die Workers-Umgebung und das Python-Paket die Typkonvertierung, sodass Aufrufe in normaler Python-Syntax verwendet werden können.
Dies umfasst Workers AI, R2, D1, Hyperdrive, Durable Objects, Queues und Workflows. Außerdem ermöglicht Cloudflare die Erstellung eines Python Workers innerhalb eines anderen Workers mithilfe von Dynamic Workers.
Datenbanken und Netzwerkverbindungen
Python-Anwendungen können nun Hyperdrive verwenden, um Verbindungen zu PostgreSQL- und MySQL-Datenbanken herzustellen. Das Fehlen der Unterstützung für TCP-Sockets war ein Hindernis für die Ausführung von Datenbanktreibern innerhalb von WebAssembly, da diese Treiber normalerweise auf POSIX-Systemaufrufe für Netzwerke angewiesen sind. Nach Angaben von Cloudflare hat das Unternehmen dieses Problem gelöst, indem es Socket-Aufrufe mithilfe der Workers Connect API implementierte. Dadurch funktionieren Treiber wie aiomysql und asyncpg ohne Anpassungen, die Details der zugrunde liegenden Umgebung berücksichtigen müssten.
Was ändert sich für Entwickler im Bereich künstliche Intelligenz?
Bibliotheken wie openai, langchain und mcp können nun innerhalb von Python Workers ausgeführt werden. Cloudflare hat außerdem daran gearbeitet, HTTP-Clients wie requests und httpx in die Lage zu versetzen, Anfragen in WebAssembly-Umgebungen über JavaScript fetch weiterzuleiten. Entwickler können diese Bibliotheken mit Workers AI kombinieren, um Inferenz auf GPU-Einheiten innerhalb des Cloudflare-Netzwerks auszuführen oder Anfragen über Cloudflare AI Gateway weiterzuleiten.
Das Unternehmen zeigt Beispiele für Anwendungen, die die Orchestrierung von Aufgaben der künstlichen Intelligenz mithilfe von Queues, Workflows, Workers AI und R2 umfassen, die Verarbeitung von Ereignisströmen in Echtzeit über Bluesky Jetstream und Durable Objects sowie MCP-Server und RAG-Systeme mit Vectorize.
Einschränkungen und offene Fragen
Python Workers basiert auf einem mithilfe von Pyodide nach WebAssembly kompilierten Python-Interpreter. Daher benötigen Pakete mit nativen Erweiterungen, die in C, C++ oder Rust geschrieben sind, einen speziellen Build für die WebAssembly-Plattform. Cloudflare erklärt, dass der PyEmscripten-Standard, der mit dem Vorschlag PEP 783 verbunden ist, sowie aktualisierte Build-Tools dazu beitragen werden, das Paketökosystem zu erweitern. Das Unternehmen räumt jedoch ein, dass die Einführung dieses Standards noch andauert und einige Pakete möglicherweise noch nicht unterstützt werden.
Analyse von certi.news: Die Änderung besteht nicht lediglich im Hinzufügen einer neuen Programmiersprache, sondern in der Verringerung der Abhängigkeit von JavaScript beim Aufbau verteilter Python-Dienste am Edge. Dies ist für Entwicklungsteams relevant, die über Python-Anwendungen oder -Bibliotheken verfügen und diese mit Cloudflare-Diensten verbinden möchten. Es macht jedoch weiterhin erforderlich, die Kompatibilität der Pakete und die Einschränkungen von WebAssembly zu prüfen, bevor bestehende Anwendungen in die Produktion übertragen werden. Auch die künftigen Versprechen von Cloudflare zur Verbesserung der Leistung und Speichereffizienz sowie zur Unterstützung weiterer Pakete zeigen, dass die allgemeine Verfügbarkeit einen wichtigen Reifegrad darstellt, nicht jedoch das Ende der Arbeit an der Plattform.