Cloudflare旗下無伺服器運算平臺Workers的Python執行環境Python Workers正式上線,結束自2024年開始的測試階段。Python成為Cloudflare Developer Platform正式支援的程式語言,可使用Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues與Workflows等服務。FastAPI、Django及Flask等Python Web框架也能在Workers環境執行。
Python Workers以Pyodide為基礎,讓Python程式在Workers的WebAssembly沙箱執行,測試版呼叫Cloudflare Queues等平臺服務時,開發者需要處理Python與JavaScript之間的資料型別轉換,而正式版本把轉換工作整合到Workers執行環境與Python SDK,Python程式可直接傳遞字典等資料,不必另外加入JavaScript轉換程式碼。
Web應用支援也在正式上線前補齊,Cloudflare加入ASGI與WSGI介接功能,兩者是Python Web應用與Web伺服器之間的標準介面。FastAPI、Django及Flask可透過介面連上Workers,由Workers負責接收與處理網路請求,不必在執行環境另外啟動Uvicorn或Gunicorn等Web伺服器。
資料庫連線是另一項重要變更,Python Workers原本不支援TCP Socket,Python資料庫驅動程式無法建立一般TCP連線。Cloudflare在Workers環境補上相關網路功能,讓Python資料庫驅動程式可經Hyperdrive連接PostgreSQL與MySQL。
網路支援擴充後,需要對外連線的Python AI函式庫也能在Python Workers執行,Cloudflare列出的案例包括OpenAI、LangChain與MCP等Python套件,開發者可搭配Workers AI或AI Gateway建立AI應用,並從Python Workers對外呼叫API。
Python Workers仍受WebAssembly執行環境限制,含有C、C++或Rust原生擴充功能的Python套件,需要提供WebAssembly相容版本才能使用。Cloudflare也參與制定PEP 783,建立PyEmscripten套件平臺規格,讓套件維護者能發布適用於Python WebAssembly環境的套件。Cloudflare後續計畫包括改善Python Workers效能、降低記憶體用量,以及擴大Python套件支援範圍。
Comments (0)