Una herramienta CLI para agregar automáticamente las anotaciones de tipo en el código Python.
El escenario principal para usar la herramienta es ayudarlo con la anotación de una base de código grande y antigua. No resolverá la tarea para usted al 100%, pero definitivamente lo ayudará enormemente, porque muchas de las funciones en el mundo real tienen tipos de retorno bastante simples que son fáciles de inferir automáticamente.
Características:
Digamos que tiene el siguiente método:
class Database :
def users_count ( self ):
return len ( self . users ) Dado que len siempre devuelve int , infer-types puede inferir el tipo de retorno del método. Entonces, después de ejecutar la herramienta, el código se verá así:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/La herramienta agregará nuevas declaraciones de importación que se pueden duplicar y no se encuentran en la parte superior del archivo. Para arreglarlo, ejecute Isort:
python3 -m isort ./example/ La herramienta Infer-types utiliza la nueva sintaxis elegante para las anotaciones de tipo introducidas en Python 3.10. Entonces, en lugar de Optional[str] emitirá str | None . Si se supone que su código se ejecuta en una versión anterior de Python, agregue from __future__ import annotations al comienzo de cada archivo. Resolverá el problema y también hará que el inicio de su aplicación sea más rápido. También puedes hacer eso con Isort:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/Vea Awesome-Python-Typing para más herramientas para ayudarlo con la anotación de su código.
None .yield , el tipo de retorno es typing.Iterator .is_open devuelve bool porque comienza con is_ . Solo puedes ejecutar una heurística específica usando la bandera --only .