The Pulse
Cloudflare porta Python Workers alla disponibilità generale
Cloudflare ha portato Python Workers alla disponibilità generale, aggiungendo il supporto per l’uso in produzione di FastAPI, Django, Flask, dei driver per database e delle librerie di IA. L’ambiente di esecuzione collega direttamente le ap

AI.info Team ·
Due anni dopo aver introdotto il supporto per Python in beta aperta, Cloudflare porta Python Workers alla disponibilità generale. Secondo l’azienda, con questo rilascio Python diventa un linguaggio pienamente supportato sulla sua Developer Platform, consentendo alle applicazioni di usare i servizi Cloudflare senza codice JavaScript di raccordo.
«Da oggi Python Workers è in disponibilità generale (GA)», scrivono Gyeongjae Choi, Dominik Picheta e Hood Chatham nell’annuncio di Cloudflare. Il rilascio supporta framework Python diffusi, client per database, librerie di IA e strumenti per creare pacchetti all’interno dell’ambiente di esecuzione Workers.
Da esperimento con Pyodide ad ambiente di esecuzione supportato
Cloudflare ha introdotto Python in Workers nell’aprile 2024 tramite Pyodide, una distribuzione Python compilata per WebAssembly. La versione iniziale supportava una selezione limitata di pacchetti e imponeva agli sviluppatori di trovare soluzioni alternative per superare il confine tra gli oggetti Python e la piattaforma Workers basata su JavaScript.
Il rilascio in disponibilità generale elimina gran parte di queste difficoltà. Python Workers può ora usare direttamente i binding della Cloudflare Developer Platform tramite oggetti Python. Uno sviluppatore che invia un dizionario a una Queue, per esempio, non deve più convertirlo in un oggetto JavaScript usando il codice di supporto di Pyodide.
Cloudflare afferma che l’ambiente di esecuzione e il relativo kit di sviluppo software per Python gestiscono ora la conversione dei tipi al confine con la piattaforma. Il cambiamento è importante sia per gli sviluppatori sia per gli strumenti di programmazione automatizzati, perché il codice Python può richiamare servizi come Queues e Durable Objects senza richiedere la conoscenza dell’ambiente JavaScript sottostante.
FastAPI, Django e Flask funzionano tramite connettori nativi
Python Workers include ora connettori per Web Server Gateway Interface e per la sua controparte asincrona, Asynchronous Server Gateway Interface. Queste interfacce consentono alle applicazioni web Python esistenti di funzionare su Workers senza sostituire il codice applicativo specifico del framework.
Le applicazioni FastAPI possono usare il pacchetto workers.asgi, mentre le applicazioni sincrone, come i progetti Django, possono usare workers.wsgi. Flask e gli altri framework basati su WSGI o ASGI possono seguire lo stesso approccio.
L’ambiente di esecuzione di Cloudflare si occupa di gestire le richieste in arrivo e di adeguare la capacità di esecuzione al carico. Il connettore traduce la richiesta nelle strutture attese dal framework Python, quindi restituisce la risposta del framework tramite Workers. Gli sviluppatori non devono eseguire Uvicorn, Gunicorn o un altro server applicativo separato all’interno dell’implementazione.
Hyperdrive porta i driver per PostgreSQL e MySQL
L’accesso ai database era uno degli ostacoli tecnici più difficili per Python Workers. Molte librerie Python per database dipendono dal modulo standard socket, mentre gli ambienti WebAssembly tradizionalmente non dispongono delle chiamate di rete del sistema operativo che queste librerie si aspettano.
Cloudflare afferma di aver risolto il problema implementando le operazioni sui socket tramite la Workers Connect API. I driver Python possono usare le chiamate socket standard, mentre l’ambiente di esecuzione traduce queste operazioni nelle funzioni di rete disponibili all’interno di Workers.
Il cambiamento consente integrazioni con Hyperdrive per database relazionali, tra cui PostgreSQL e MySQL. Gli sviluppatori possono usare librerie note come aiomysql e asyncpg, nei limiti dei pacchetti supportati dall’ambiente Python Workers di Cloudflare.
Il supporto dei pacchetti va oltre gli strumenti esclusivi di Cloudflare
I pacchetti Python che includono estensioni native in C, C++ o Rust devono essere compilati per WebAssembly prima di poter funzionare all’interno di Python Workers. In precedenza Cloudflare compilava e ospitava direttamente molti di questi pacchetti, limitando la scelta disponibile e lasciando i manutentori senza una destinazione comune per la distribuzione.
L’azienda afferma di aver contribuito allo sviluppo di PEP 783, uno standard per l’esecuzione dei pacchetti Python sulla piattaforma PyEmscripten. La proposta è stata accettata dopo oltre un anno di discussioni, offrendo ai manutentori dei pacchetti una destinazione comune per le versioni di Python destinate ai browser e ad altri ambienti WebAssembly.
Cloudflare afferma inoltre di aver stabilizzato gli strumenti di compilazione di Pyodide e aggiunto il supporto per PyEmscripten a cibuildwheel, uno strumento ampiamente utilizzato per creare pacchetti Python. L’adozione è ancora in corso: la disponibilità generale non significa quindi che tutti i pacchetti presenti su Python Package Index funzioneranno in Workers.
Python diventa un’opzione per gli agenti di IA ai margini della rete
Il supporto di rete amplia anche ciò che gli sviluppatori possono realizzare con Python Workers. Cloudflare afferma che librerie tra cui openai, langchain e mcp possono ora funzionare in modo nativo, grazie a modifiche che consentono ai client HTTP Python di instradare le richieste tramite l’API JavaScript fetch negli ambienti WebAssembly.
Le applicazioni possono combinare queste librerie con Workers AI per eseguire l’inferenza sulle GPU di Cloudflare oppure usare AI Gateway per instradare le richieste verso fornitori esterni di modelli. Tra gli esempi di Cloudflare figura un’applicazione LangChain che richiama un modello Workers AI e restituisce il risultato da un Python Worker.
La stessa piattaforma può collegare quell’applicazione allo spazio di archiviazione R2, ai database D1, a Queues, Workflows, Durable Objects e Vectorize. Cloudflare presenta inoltre esempi in Python per una pipeline di generazione da immagine a immagine, un sistema di elaborazione dei flussi Bluesky Jetstream, un server MCP e un sistema di generazione aumentata dal recupero di informazioni.
La disponibilità generale alza le aspettative sulla compatibilità dei pacchetti
Cloudflare sta aggiornando la documentazione per gli sviluppatori affinché gli esempi in Python compaiano accanto a quelli in JavaScript e TypeScript nei suoi prodotti. L’azienda afferma di voler migliorare le prestazioni e l’efficienza nell’uso della memoria di Python Workers, aggiungendo al contempo il supporto per altri pacchetti.
Il rilascio offre agli sviluppatori Python un percorso per usare Workers in produzione, ma la piattaforma continua a dipendere da pacchetti compatibili con WebAssembly e da comportamenti dell’ambiente di esecuzione specifici di Cloudflare. Prima di distribuire un’applicazione esistente sulla piattaforma, gli sviluppatori dovranno verificare la compatibilità del framework, il supporto dei driver per database e le eventuali estensioni native.
Per i progetti che rispettano questi vincoli, Cloudflare non presenta più Python Workers come un esperimento. Il servizio tratta ora le applicazioni Python, le pipeline di IA e i framework web come carichi di lavoro pienamente supportati all’interno dell’ambiente di esecuzione Workers.