
Performante Typprüfung für Python.
[!WARNING]
Dieses Repository ist archiviert
Dieses Repository wird nicht mehr gepflegt und wurde archiviert.
- Typprüfung: Pyre wurde durch Pyrefly ersetzt, unseren Typechecker und Sprachserver der nächsten Generation.
- Sicherheitsanalyse (Pysa): Pysa wurde in ein eigenes Repository unter github.com/facebook/Pysa verlegt. Wenn Sie nach Pysa suchen, gehen Sie bitte dorthin.
Pyre ist ein leistungsstarker Typprüfer für Python, der mit PEP 484 kompatibel ist. Pyre kann Codebasen mit Millionen von Zeilen inkrementell analysieren – und bietet Entwicklern sofortiges Feedback, während sie Code schreiben. Weitere Informationen finden Sie in unserer Dokumentation.
Pyre wird mit Pysa ausgeliefert, einem sicherheitsorientierten statischen Analysetool, das wir auf Pyre aufgebaut haben und das Datenflüsse in Python-Anwendungen analysiert. Pysa befindet sich jetzt in einem eigenen Repository unter github.com/facebook/Pysa – bitte gehen Sie dorthin, um die neueste Version zu erhalten und mit unserer Sicherheitsanalyse zu beginnen.
Pysa ist auch auf dem GitHub Marketplace als Github Action verfügbar.
Um loszulegen, benötigen Sie Python 3.9 oder höher und watchman auf Ihrem System. Auf MacOS können Sie alles mit homebrew installieren:
$ 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 auf Ubuntu 18.04.5 LTS, CentOS 7 sowie OSX 10.11 und später 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 informieren wir Pyre über unser neues Projekt:
(venv) $ pyre init
Dieser Befehl erstellt eine Konfiguration für Pyre (.pyre_configuration) sowie für watchman (.watchmanconfig) im Verzeichnis Ihres Projekts. Akzeptieren Sie vorerst die Standardeinstellungen – Sie können sie später bei Bedarf ändern.
Wir sind nun 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`.
Dieser erste Aufruf startet einen Daemon, der auf Dateisystemänderungen lauscht – und Ihr Projekt inkrementell typüberprüft, während Sie Änderungen am Code vornehmen. Sie werden feststellen, dass nachfolgende Aufrufe von pyre schneller sind als der erste.
Ausführlichere Dokumentation finden Sie unter https://pyre-check.org.
Unter CONTRIBUTING.md erfahren Sie, wie Sie mithelfen können.
Pyre ist unter der MIT-Lizenz lizenziert.