Technologie · 2 min read · Oct 20, 2025
Transpilez et exécutez du code Python dans un programme Go avec le projet open source 'Grumpy' de Google

Google open source Grumpy code pour transpiler et exécuter Python sur G
Google a annoncé mercredi un projet open source nommé Grumpy, qui est un transcompilateur et un runtime de code source Python vers Go, destiné à être un remplacement presque direct de CPython 2.7. C’est une application aussi créative pour Go qu’une transformation des cas d’utilisation de Python.
Le serveur frontal de l’entreprise pour YouTube et son API YouTube sont principalement écrits en Python et fonctionnent sur CPython 2.7, contrairement à d’autres implémentations (Jython, PyPy ou IronPython). Le projet a commencé par un besoin d’améliorer l’exécution de Python sur YouTube, qui exécute son frontend sur CPython 2.7, pour gérer efficacement les charges de travail concurrentes.
« Grumpy ne peut pas tirer parti de la richesse des extensions C Python existantes, mais cela nous a donné beaucoup de flexibilité pour concevoir une API et une représentation d’objet qui évoluent pour des charges de travail parallèles », a déclaré Dylan Trotter, ingénieur logiciel au sein de YouTube Engineering chez Google dans un article de blog. « Nous pensons que Grumpy a le potentiel de s’échelonner plus gracieusement que CPython pour de nombreuses charges de travail du monde réel. »
Selon Trotter, d’autres runtimes Python n’ont pas pu résoudre le problème de la concurrence sans introduire des compromis insatisfaisants.
« Alors nous nous sommes posé une question folle : ‘Et si nous devions implémenter un runtime alternatif optimisé pour le service en temps réel ?’ » a déclaré Trotter. « Une fois que nous avons commencé à explorer cette voie, Go semblait être un choix évident de plateforme puisque ses caractéristiques opérationnelles s’alignent bien avec notre cas d’utilisation (par exemple, des threads légers). Nous voulions une interopérabilité de langage de premier ordre et le puissant système de réflexion de type d’exécution de Go a rendu cela simple. Python dans Go semblait très naturel, et ainsi Grumpy est né.
« Grumpy est un runtime Python expérimental pour Go. Il traduit le code Python en programmes Go, et ces programmes ‘transpilés’ s’exécutent sans problème dans le runtime Go. Nous devions prendre en charge une grande base de code Python existante, il était donc important d’avoir un haut degré de compatibilité avec CPython (bizarreries comprises). L’objectif est que Grumpy soit un runtime de remplacement direct pour tout projet en pur Python », a écrit Trotter.
Cependant, Trotter avertit que même si Grumpy a été fraîchement publié en open source, il reste un logiciel de niveau alpha.
« La plupart des constructions de langage et de nombreux types intégrés de base fonctionnent comme vous vous y attendez [mais] il y a encore des lacunes à combler — de nombreux types intégrés manquent de méthodes et d’attributs, des fonctions intégrées sont absentes et la bibliothèque standard est pratiquement vide », a-t-il déclaré.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.