Uma ferramenta CLI para adicionar automaticamente anotações de tipo no código Python.
O cenário principal para usar a ferramenta é ajudá -lo a anotar uma base de código grande e antiga. Ele não resolverá a tarefa para você 100%, mas definitivamente o ajudará tremendamente, porque muitas das funções no mundo real têm tipos de retorno bastante simples que são fáceis de inferir automaticamente.
Características:
Digamos que você tem o seguinte método:
class Database :
def users_count ( self ):
return len ( self . users ) Como len sempre retorna int , infer-types é capaz de inferir o tipo de retorno do método. Então, depois de executar a ferramenta, o código ficará assim:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/A ferramenta adicionará novas instruções de importação que podem ser duplicadas e não estão localizadas na parte superior do arquivo. Para consertar, execute o ISORT:
python3 -m isort ./example/ A ferramenta de tipos inferiores usa a nova sintaxe sofisticada para anotações de tipo introduzidas no Python 3.10. Então, em vez de Optional[str] ele emitirá str | None . Se o seu código for executado em uma versão mais antiga do Python, adicione from __future__ import annotations no início de cada arquivo. Ele resolverá o problema e também tornará mais rápido a inicialização do seu aplicativo. Você também pode fazer isso com o ISORT:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/Consulte o Awesome-Python-Typing para obter mais ferramentas para ajudá-lo a anotar seu código.
None será.yield , o tipo de retorno estará typing.Iterator .is_open retorne bool porque começa com is_ . Você pode executar apenas uma heurística específica usando a bandeira --only .