Инструмент CLI для автоматического добавления аннотаций типа в код Python.
Основной сценарий использования инструмента - помочь вам с аннотированием большой и старой кодовой базы. Это не решит задачу для вас на 100%, но определенно вам очень поможет, потому что многие функции в реальном мире имеют довольно простые типы возврата, которые легко сделать автоматически.
Функции:
Допустим, у вас есть следующий метод:
class Database :
def users_count ( self ):
return len ( self . users ) Поскольку len всегда возвращает int , infer-types способны выводить тип возврата метода. Итак, после запуска инструмента код будет выглядеть так:
class Database :
def users_count ( self ) -> int :
return len ( self . users )python3 -m pip install infer-typespython3 -m infer_types ./example/Инструмент добавит новые операторы импорта, которые могут быть дублированы и расположены не в верхней части файла. Чтобы исправить это, запустите Isort:
python3 -m isort ./example/ Инструмент «Вывод» использует новый фантастический синтаксис для аннотаций типа, представленных в Python 3.10. Таким образом, вместо Optional[str] это испускает str | None . Если ваш код должен работать на более старой версии Python, добавьте from __future__ import annotations в начале каждого файла. Это решит проблему, а также сделает запуск вашего приложения быстрее. Вы также можете сделать это с помощью Isort:
python3 -m isort --add-import ' from __future__ import annotations ' ./example/Смотрите потрясающий питонный типинг для получения дополнительных инструментов, которые помогут вам с аннотированием вашего кода.
None является.yield , тип возврата typing.Iterator .is_open возвращает bool потому что она начинается с is_ . Вы можете запустить только определенную эвристику, используя --only флаг.