Pyre ist ein leistungsstarker Typprüfer für Python, der mit PEP 484 kompatibel ist. Pyre kann Codebasen mit Millionen von Codezeilen inkrementell analysieren und Entwicklern beim Schreiben von Code sofortiges Feedback geben. Auf dem Pyre Playground können Sie es anhand von Beispielen ausprobieren.
Pyre wird mit Pysa ausgeliefert, einem sicherheitsorientierten statischen Analysetool, das wir auf Basis von Pyre entwickelt haben und Datenflüsse in Python-Anwendungen analysieren. Bitte lesen Sie unsere Dokumentation, um mit unserer Sicherheitsanalyse zu beginnen.
Pysa ist auch auf dem GitHub Marketplace als Github Action verfügbar
Um zu beginnen, benötigen Sie Python 3.8 oder höher und Watchman muss auf Ihrem System arbeiten. Unter MacOS bekommt man mit Homebrew alles:
$ brew install python3 watchman
Auf Ubuntu , Mint oder Debian ; Verwenden Sie apt-get
und Homebrew:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
Wir haben Pyre unter Ubuntu 18.04.5 LTS , CentOS 7 sowie OSX 10.11 und höher getestet.
Wir beginnen mit der Erstellung eines leeren Projektverzeichnisses und der Einrichtung einer virtuellen Umgebung:
$ mkdir my_project && cd my_project
$ python3 -m venv ~ /.venvs/venv
$ source ~ /.venvs/venv/bin/activate
(venv) $ pip install pyre-check
Als nächstes unterrichten wir Pyre über unser neues Projekt:
(venv) $ pyre init
Dieser Befehl richtet eine Konfiguration für Pyre ( .pyre_configuration
) sowie Watchman ( .watchmanconfig
) im Verzeichnis Ihres Projekts ein. Akzeptieren Sie vorerst die Standardeinstellungen – Sie können sie bei Bedarf später ändern.
Wir sind jetzt bereit, Pyre auszuführen:
(venv) $ echo " i: int = 'string' " > test.py
(venv) $ pyre
ƛ Found 1 type error !
test.py:1:0 Incompatible variable type [9]: i is declared to have type ` int ` but is used as type ` str ` .
Bei diesem ersten Aufruf wird ein Daemon gestartet, der auf Dateisystemänderungen wartet – und Ihr Projekt schrittweise überprüft, während Sie Änderungen am Code vornehmen. Sie werden feststellen, dass nachfolgende Aufrufe von pyre
schneller sind als der erste.
Eine ausführlichere Dokumentation finden Sie unter https://pyre-check.org.
Unter CONTRIBUTING.md erfahren Sie, wie Sie helfen können.
Pyre ist unter der MIT-Lizenz lizenziert.