Pyright: Microsoft veröffentlicht alternativen Type Checker für Python

Für den statischen Type Checker Pyright verspricht Microsoft mehr Geschwindigkeit und den reibungslosen Einsatz im Editor Visual Studio Code.

vorlesen Druckansicht
PyPy 7.0 unterstützt Python 3.6 experimentell
Lesezeit: 2 Min.

Microsoft hat einen statischen Type Checker für Python vorgestellt: Pyright soll als Alternative zu gängigen in Python geschriebenen Type-Checkern wie mypy vor allem mit mehr Geschwindigkeit punkten – bis zum Faktor fünf – und sich außerdem unabhängig von einer Python-Umgebung nutzen lassen. Pyright ist in TypeScript geschrieben und läuft innerhalb von Node.js. Damit empfiehlt sich der Type Checker insbesondere für den Einsatz im Visual Studio Code Editor, der Node als Runtime für Extensions verwendet.

Im Unterschied zum Python-Plug-in von VS Code, das als offizielle Python-Erweiterung für VS Code Funktionen wie Debugging und Type-Checking- sowie Linter-Plug-ins bietet, dient Pyright ausschließlich als statischer Type Checker. Vom Microsoft Python Language Server hingegen soll sich Pyright durch erweiterte Konfigurationsoptionen, die Ausführung auf der Kommandozeile und vor allem besserer Performance absetzen. Der Type Checker ist in der aktuellen Version auf Python 3 ausgelegt und bietet unter anderen Prüffunktionen für Typenhinweise (PEP 484), Syntax für variable Annotationen (PEP 526) und strukturelle Subtypisierung (PEP 544).

Das unter Microsofts Open Source Code of Conduct auf GitHub veröffentlichte Projekt Pyright gilt offiziell noch als Work in Progress. Eine ganze Reihe von Funktionen sind noch nicht fertiggestellt – darunter beispielsweise Typ-Inferenz für Generatoren und asynchrone Funktionen. Auch die Option zur Durchsetzung von Kovarianz und Kontravarianz will Microsoft noch ergänzen und die zahlreichen ToDo-Kommentare im Code abarbeiten. Da es seitens Microsoft kein dediziertes Team gibt, dass sich um Pyright kümmert, sind Beiträge und Anregungen im Rahmen des Contributor License Agreement (CLA) willkommen. Weitere Details samt ausführlicher Dokumentation zum Type Checker finden sich auf der Pyright-Projektsite auf GitHub. (map)