Ein CLI -Tool zum automatischen Hinzufügen von Typ Anmerkungen in Python -Code.
Das Hauptszenario für die Verwendung des Tools besteht darin, Ihnen bei der Annotierung einer großen und alten Codebasis zu helfen. Es wird die Aufgabe für Sie nicht zu 100% lösen, aber Sie werden Ihnen definitiv enorm helfen, da viele der Funktionen in der realen Welt recht einfache Rückgabetypen haben, die automatisch leicht zu schließen sind.
Merkmale:
Nehmen wir an, Sie haben die folgende Methode:
class Database :
def users_count ( self ):
return len ( self . users ) Da len immer int zurückgibt, können infer-types den Rückgabetyp der Methode schließen. Nach dem Ausführen des Tools sieht der Code so aus:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/Das Tool fügt neue Importanweisungen hinzu, die dupliziert werden können und nicht oben in der Datei befinden. Um es zu beheben, rennen Sie ISORT:
python3 -m isort ./example/ Das Infer-Type-Tool verwendet die neue schicke Syntax für Typanmerkungen, die in Python 3.10 eingeführt wurden. Anstelle von Optional[str] wird es str | None ausgeben str | None . Wenn Ihr Code auf einer älteren Version von Python ausgeführt wird, fügen Sie zu Beginn jeder Datei from __future__ import annotations . Es wird das Problem lösen und auch schneller ein Start Ihrer App machen. Sie können das auch mit ISORT tun:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/Weitere Tools finden Sie unter Awesome-Python-Typing, mit denen Sie Ihren Code annotieren können.
None .yield gibt, typing.Iterator der Rückgabetyp .Iderator.is_open bool zurückgibt, da sie mit is_ beginnt. Sie können nur eine bestimmte Heuristik mit der Flagge --only ausführen.