Microsoft опубликовал Pyright, систему проверки типов для языка Python

akok

Команда форума
Администратор
Сообщения
17,251
Реакции
13,291
Баллы
2,203
Компания Microsoft открыла исходные тексты проекта Pyright, в рамках которого развивается система для применения статической типизации в приложениях на языке Python. Для разработчиков предлагается утилита командной строки для проверки типов и плагин для интегрированных сред разработки, поддерживающих протокол LSP (Language Server Protocol), таких как Visual Studio Code, Nuclide и Atom. Код написан на языке Typescript (диалект JavaScript со статической типизацией), использует Node.js и открыт под лицензией MIT.

Информация о типах может определяться в коде через добавление дополнительных аннотаций к переменным (PEP 526, например "# type: List[int]"), TypeVar-подсказок в стиле mypy (PEP 484, например "def greeting(name: str) -> str:") или применения структурных подтипов (PEP 544). Pyright поддерживает вывод типов для возвращаемых функциями значений, локальных переменных, переменных классов и глобальных переменных. Системой также применяются умные ограничители типов, учитывающие ветвления в коде с использованием операторов if/else.

Pyright работает примерно в пять раз быстрее mypy и других систем проверки типов, написанных на языке Python. Высокая производительность позволяет использовать Pyright для очень крупных кодовых баз, для работы в режиме непрерывного отслеживания при редактировании и для быстрого инкрементального обновления при изменении файлов. Для работы Pyright не требуется установка Python-окружения, но необходимо наличие Node.js.

Кроме инструментов для анализа и проверки кода в состав также входит подготовленный проектом Typeshed набор stub-файлов (".pyi"), содержащих информацию о типах для стандартных библиотек stdlib. Плагин для IDE поддерживает вывод всплывающих подсказок с информацией о типе, переход к позиции с определением переменной и обеспечение обратной связи во время

opennet.ru
 
Сверху Снизу