A Cloudflare anunciou a disponibilidade geral (GA) do Python Workers, dois anos depois de sua apresentação como uma forma de executar aplicações Python dentro do ambiente Cloudflare Workers. Com essa medida, o Python tornou-se uma linguagem oficialmente compatível com a Cloudflare Developer Platform, com a possibilidade de usar bibliotecas e frameworks conhecidos e conectá-los aos serviços da Cloudflare sem escrever uma camada de integração em JavaScript.
O novo ambiente permite executar os frameworks FastAPI, Django e Flask, além de outros frameworks compatíveis com WSGI ou ASGI. A Cloudflare oferece conectores como workers.asgi e workers.wsgi para converter as solicitações do Workers para a estrutura esperada pelas aplicações Python, enquanto a plataforma Workers cuida do recebimento das solicitações, da escalabilidade e do balanceamento de carga.
Integração direta com os serviços da Cloudflare
Uma das principais mudanças práticas é o suporte direto aos bindings da Cloudflare dentro do Python. Antes, passar objetos Python para serviços como Queues exigia convertê-los manualmente em objetos JavaScript usando Pyodide e APIs JavaScript. Agora, o ambiente Workers e o pacote Python cuidam da conversão dos tipos, permitindo usar as chamadas com a sintaxe normal do Python.
Isso inclui Workers AI, R2, D1, Hyperdrive, Durable Objects, Queues e Workflows. A Cloudflare também permite criar um Python Worker dentro de outro Worker usando Dynamic Workers.
Bancos de dados e conexões de rede
As aplicações Python agora podem usar o Hyperdrive para se conectar a bancos de dados PostgreSQL e MySQL. A ausência de suporte a sockets TCP era um obstáculo à execução de drivers de banco de dados dentro do WebAssembly, pois esses programas normalmente dependem de chamadas de sistema POSIX para redes. Segundo a Cloudflare, a empresa resolveu isso implementando as chamadas de socket por meio da Workers connect API, permitindo que drivers como aiomysql e asyncpg funcionem sem modificações para conhecer os detalhes do ambiente subjacente.
O que muda para os desenvolvedores de inteligência artificial?
Agora é possível executar bibliotecas como openai, langchain e mcp dentro do Python Workers. A Cloudflare também trabalhou para permitir que clientes HTTP como requests e httpx direcionem as solicitações por meio do JavaScript fetch em ambientes WebAssembly. O desenvolvedor pode combinar essas bibliotecas com o Workers AI para realizar inferências em unidades de GPU na rede da Cloudflare ou encaminhar as solicitações pelo Cloudflare AI Gateway.
A empresa apresenta modelos de aplicações que incluem a coordenação de tarefas de inteligência artificial usando Queues, Workflows, Workers AI e R2, o processamento de fluxos de eventos em tempo real por meio do Bluesky Jetstream e Durable Objects, além de servidores MCP e sistemas RAG com Vectorize.
Limitações e questões em aberto
O Python Workers depende de um interpretador Python compilado para WebAssembly usando Pyodide. Por isso, os pacotes que incluem extensões nativas escritas em C, C++ ou Rust precisam de uma compilação personalizada para a plataforma WebAssembly. A Cloudflare afirma que o padrão PyEmscripten, associado à proposta PEP 783, e as ferramentas de compilação atualizadas ajudarão a expandir o ecossistema de pacotes, mas a empresa reconhece que a adoção desse padrão ainda está em andamento e que alguns pacotes podem ainda não ser compatíveis.
Leitura da certi.news: a mudança não consiste apenas na adição de uma nova sintaxe de programação, mas na redução da dependência do JavaScript ao criar serviços Python distribuídos na borda. Isso é relevante para equipes de desenvolvimento que possuem aplicações ou bibliotecas Python e desejam conectá-las aos serviços da Cloudflare, mas não elimina a necessidade de verificar a compatibilidade dos pacotes e as limitações do WebAssembly antes de transferir aplicações existentes para produção. Além disso, as promessas futuras da Cloudflare de melhorar o desempenho e a eficiência da memória e de oferecer suporte a mais pacotes mostram que a disponibilidade geral representa um importante ponto de maturidade, não o fim do trabalho na plataforma.