Python-Implementierung: Pyston-Team packt Pakete für Conda

Die Macher der auf Performance ausgelegten Python-Implementierung wollen künftig vorkompilierte Packages über den Paketmanager Conda verteilen.

In Pocket speichern vorlesen Druckansicht
Schlange, Python, Paradies

(Bild: Michael Schwarzenberger, gemeinfrei (Creative Commons CC0))

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Das Pyston-Team hat eine Roadmap für die Weiterentwicklung der auf Performance ausgerichteten Python-Implementierung vorgelegt. Ganz oben auf der Liste steht das Bereitstellen vorkompilierter Pakete, um mehr Entwicklerinnen und Entwickler abzuholen. Danach steht eine Anbindung an 64-Bit ARM an, und später sollen Umsetzungen für Windows und macOS folgen. Weitere Performance-Optimierungen stehen daneben als ständiger Begleiter auf der Liste.

Die Roadmap darf man wohl auch als Lebenszeichen verstehen, da es eine Weile ruhig war um Pyston, und die Implementierung bereits vor vier Jahren vermeintlich vor dem Aus stand. Dropbox hatte das Projekt 2014 erstmals vorgestellt, das inspiriert von JavaScript-Umsetzungen wie Googles V8-Engine auf JIT-Kompilierung (Just-in Time) setzt.

2017 zog sich Dropbox aus der Entwicklung zurück, womit einige das Ende von Pyston kommen sahen, zumal andere Projekte wie PyPy und Cython sich ebenfalls anschicken, die Performance von Python-Code zu optimieren. Im Oktober 2020 erschien allerdings Version 2.0 zunächst als Closed Source. Seit Mai ist Pyston ein Open-Source-Projekt und im August hat sich das Team mit Anaconda zusammengetan.

Erklärtes Ziel für die Weiterentwicklung ist, mehr Entwickler und Entwicklerinnen an Bord zu holen. Offenbar ist die größte Hürde die Verfügbarkeit von Python-Paketen. Anders als für CPython stehen nur wenige Packages vorkompiliert bereit. Daher hat das Team angekündigt, zahlreiche Pakete zu kompilieren und über den Paketmanager Conda zur Verfügung zu stellen. Im Anschluss plant das Team eine Pyston-Umsetzung für 64-Bit ARM. Zusätzlich will es ein CI/CD-System (Continuous Integration, Continuous Delivery) für die Weiterentwicklung aufsetzen.

In der langfristigen Planung steht eine Portierung auf macOS und Windows an. Außerdem soll Pyston mit dem JIT-Compiler Numba zusammenarbeiten, der numerische Funktionen als Subset von Python und NumPy in Maschinencode übersetzt. Schließlich steht ein verbessertes Multithreading auf der Roadmap. Darüber hinaus erwägt das Team ein "opt-in"-Feature, das Veränderungen der Semantik ermöglichen soll.

Auch die künftigen Pyston-Releases werden stets auf eine spezifische Python-Version ausgelegt sein. Derzeit handelt es sich um Python 3.8.12, und für Anfang 2022 ist der Wechsel auf Python 3.10 geplant. Zusätzlich will das Team einige der Performance-Bemühungen in Python 3.11 als Backport in die Umsetzung einpflegen.

Weitere Details lassen sich dem Pyston-Blog und dem Wiki-Eintrag zur Roadmap entnehmen. Der Sourcecode zu Pyston findet sich auf GitHub. Dort stehen in der Release-Sektion vorgefertigte Pakete zum Download bereit.

(rme)