Pytype¶
Pytype ist ein statisches Analysewerkzeug, das Typen aus eurem Python-Code
ableitet ohne dass Typanmerkungen notwendig sind. Es kann jedoch auch im Code
stehende Type Annotations erzwingen.
Obwohl Annotationen für Pytype optional sind, werden sie geprüft und angewendet,
sofern sie vorhanden sind. Die von Pytype erzeugten Typ-Annotationen werden in
eigenständigen .pyi
-Dateien gespeichert, die mit merge-pyi wieder
in den Python-Code eingebunden werden können. Schließlich markiert es häufige
Fehler wie falsch geschriebene Attributnamen oder Funktionsaufrufe und vieles
mehr, auch über Dateigrenzen hinweg.
Siehe auch
Anforderungen¶
Alle gängigen Linux-Distributionen werden unterstützt
macOS ≥ 10.7 und Xcode ≥ 8
Windows mit WSL. Zusätzlich müssen folgende Bibliotheken installiert werden:
$ sudo apt install build-essential python3-dev libpython3-dev
Installation¶
Pytype kann einfach installiert werden mit
$ uv add pytype
Anschließend kann die Installation überprüft werden mit
$ uv run pytype file_or_directory
Konfiguration¶
Für ein Python-Paket könnt ihr Pytype einrichten indem ihr eine
pytype.cfg
-Datei anlegt mit
$ uv run pytype --generate-config pytype.cfg
Diese beginnt dann z.B. mit
# NOTE: All relative paths are relative to the location of this file.
[pytype]
# Space-separated list of files or directories to exclude.
exclude =
**/*_test.py
**/test_*.py
# Space-separated list of files or directories to process.
inputs =
.
Nun könnt ihr die Konfigurationsdatei euren Anforderungen entsprechend ampassen.
Zusätzliche Skripte¶
annotate-ast
in-progress Type-Annotator für ASTs
merge-pyi
Zusammenführen von Typinformationen aus einer
.pyi
- in eine Python-Dateipytd-tool
Parser für
.pyi
-Dateienpytype-single
Debugging-Tool für Pytype-Entwickler, das eine einzelne Python-Datei unter der Annahme analysiert, dass für alle Abhängigkeiten bereits
.pyi
-Dateien generiert wurdenpyxref
cross-References-Generator