Softwareentwicklung · 1 min read · Oct 20, 2025

Transpiliere und führe Python-Code in Go-Programmen mit Googles Open Source ‚Grumpy‘ aus

Google gibt Grumpy-Code als Open Source frei, um Python auf G zu transpiliere

Google hat am Mittwoch ein Open-Source-Projekt mit dem Namen Grumpy angekündigt, das ein Transcompiler und eine Laufzeitumgebung für Python zu Go-Quellcode ist und als nahezu nahtloser Ersatz für CPython 2.7 gedacht ist. Es ist eine ebenso kreative Anwendung für Go, wie es eine Transformation der Anwendungsfälle von Python ist.

Der Front-End-Server des Unternehmens für YouTube und die YouTube-API sind hauptsächlich in Python geschrieben und laufen auf CPython 2.7, im Gegensatz zu anderen Implementierungen (Jython, PyPy oder IronPython). Das Projekt begann aus der Notwendigkeit heraus, die Python-Ausführung auf YouTube zu verbessern, das sein Frontend auf CPython 2.7 betreibt, um mit gleichzeitigen Arbeitslasten gut umzugehen.

„Grumpy kann nicht auf den Reichtum bestehender Python-C-Erweiterungen zurückgreifen, aber es gab uns viel Flexibilität, um eine API und Objektrepräsentation zu entwerfen, die für parallele Arbeitslasten skalierbar ist“, sagte Dylan Trotter, ein Software-Ingenieur im YouTube Engineering bei Google, in einem Blogbeitrag. „Wir denken, dass Grumpy das Potenzial hat, für viele reale Arbeitslasten eleganter zu skalieren als CPython.“

Laut Trotter konnten andere Python-Laufzeiten das Problem der Parallelität nicht lösen, ohne unbefriedigende Kompromisse einzugehen.

„Also haben wir uns eine verrückte Frage gestellt: ‚Was wäre, wenn wir eine alternative Laufzeit implementieren würden, die für die Echtzeitbereitstellung optimiert ist?‘“ sagte Trotter. „Als wir anfingen, in das Thema einzutauchen, schien Go eine offensichtliche Plattformwahl zu sein, da ihre betrieblichen Eigenschaften gut mit unserem Anwendungsfall übereinstimmen (z. B. leichte Threads). Wir wollten eine erstklassige Sprachinteroperabilität, und das leistungsstarke Laufzeit-Typ-Reflexionssystem von Go machte dies einfach. Python in Go fühlte sich sehr natürlich an, und so wurde Grumpy geboren.

„Grumpy ist eine experimentelle Python-Laufzeit für Go. Es übersetzt Python-Code in Go-Programme, und diese ‚transpilierten‘ Programme laufen nahtlos innerhalb der Go-Laufzeit. Wir mussten eine große bestehende Python-Codebasis unterstützen, daher war es wichtig, einen hohen Grad an Kompatibilität mit CPython (Eigenheiten und alles) zu haben. Das Ziel ist, dass Grumpy eine nahtlose Ersatzlaufzeit für jedes rein-Python-Projekt ist“, schrieb Trotter.

Trotter warnt jedoch, dass Grumpy, obwohl es frisch als Open Source veröffentlicht wurde, weiterhin Alpha-Software bleibt.

„Die meisten Sprachkonstrukte und viele grundlegende eingebaute Typen funktionieren wie erwartet [aber] es gibt immer noch Lücken zu füllen – viele eingebaute Typen fehlen Methoden und Attribute, eingebaute Funktionen sind abwesend und die Standardbibliothek ist praktisch leer“, sagte er.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.