11 мая 2018 года разработчики из Facebook анонсировали Pyre - расширение для статической проверки типов для языка программирования Python. Новая технология предназначена для улучшения качества и скорости разработки большого объёма кода и интерактивно выделяет ошибки типов в среде разработки. Расширение поэтапно проверяет все аннотации типов, являющихся частью кода. Код проекта выложенна официальном сайте и в репозитории на GitHub.
Проверка типов с помощью Pyre
Расширение использует Watchman, чтобы определить изменения в коде после того, как разработчик нажмёт кнопку "Сохранить". Помимо проверки типов расширение поддерживает ряд функций, связанных с автоматической повторной проверкой отредактированных файлов через протокол языкового сервера (LSP). Принцип работы схож с моделью проверки типов в Hack - Pуre реализован в OCaml и использует блокировку разделения памяти для обеспечения параллельного выполнения задач.
Совместимость с Python
Расширение предназначено для редакторов кода с возможностью использования Python 3. Pуre поддерживает большинство типов, описанных в PEP 484. В ближайшее время разработчики расширения планируют осуществить совместимость с mypy
для выполнения проверки типов в Python.
Модульное развитие технологий для улучшения процесса написания кода встречается всё чаще. Напомним, в марте 2018 года Microsoft выпустила обновление расширения Python для Visual Studio Code, а в апреле разработчики Qt рассказали о подготовке Qt for Python - модулей для создания графических приложений.