Présentation

Cloudflare a rendu les Python Workers généralement disponibles sur sa plateforme développeur. Le runtime accepte directement du code Python et expose les bindings Cloudflare (R2, D1, etc.) sans nécessiter de transpilation JavaScript. Cette annonce élargit la gamme de langages supportés, auparavant limitée à JavaScript/TypeScript, et cible les équipes qui souhaitent déployer des services API ou des tâches d’arrière‑plan en Python.

Architecture et bindings

Le moteur des Workers repose sur V8 isolé, auquel Cloudflare a ajouté un interpréteur Python intégré. Les bindings sont injectés au niveau du runtime : chaque appel à env.R2 ou env.D1 se traduit par une liaison directe à l’API propriétaire de Cloudflare, évitant ainsi le passage par un proxy HTTP. Cette approche réduit la latence d’accès aux services de stockage et de bases de données, car les requêtes restent intra‑datacenter. Le modèle de facturation reste inchangé ; chaque invocation consomme des unités de temps CPU et de mémoire, mesurées au milliseconde près.

Compatibilité avec les frameworks et bibliothèques IA

Le runtime accepte les paquets standards de l’écosystème Python. Les développeurs peuvent installer FastAPI, Django ou Flask via le fichier requirements.txt fourni avec le projet Worker. De plus, les bibliothèques d’intelligence artificielle telles que langchain et openai fonctionnent sans modification, ce qui permet d’appeler des modèles LLM hébergés ou des services d’inférence depuis le bord. La limitation principale réside dans la taille maximale du bundle (≈ 50 Mo compressé) et dans l’absence de support GPU, ce qui contraint les charges de travail IA à rester légères (inférence texte, appels API).

Impacts et limites

Le déploiement de Python Workers simplifie la chaîne CI/CD : les équipes peuvent pousser du code Python directement depuis le dépôt vers le réseau de périphérie, éliminant le besoin de conteneurs Docker intermédiaires. Cependant, la sandbox V8 impose des restrictions d’accès au système de fichiers et aux sockets réseau, limitant les scénarios nécessitant des connexions sortantes non‑HTTP. La sécurité bénéficie de l’isolation par défaut, mais chaque binding expose les clés d’accès Cloudflare au runtime ; la gestion de ces secrets doit rester dans le secret store de Cloudflare Workers. Enfin, la compatibilité avec les versions de Python n’est pas explicitée dans le communiqué ; les utilisateurs doivent vérifier la version supportée (probablement 3.10) avant d’utiliser des fonctionnalités récentes du langage.