Pyre — это высокопроизводительная программа проверки типов для Python, совместимая с PEP 484. Pyre может поэтапно анализировать базы кода с миллионами строк кода, обеспечивая мгновенную обратную связь разработчикам во время написания кода. Вы можете опробовать это на примерах на Pyre Playground.
Pyre поставляется с Pysa , инструментом статического анализа, ориентированным на безопасность, который мы создали на базе Pyre, который анализирует потоки данных в приложениях Python. Пожалуйста, обратитесь к нашей документации, чтобы начать анализ безопасности.
Pysa также доступна на GitHub Marketplace в виде действия Github.
Для начала вам понадобится Python 3.8 или новее и сторож, работающий в вашей системе. В MacOS вы можете получить все с помощью доморощенного:
$ brew install python3 watchman
В Ubuntu , Mint или Debian ; используйте apt-get
и доморощенный:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
Мы тестировали Pyre на Ubuntu 18.04.5 LTS , CentOS 7 , а также OSX 10.11 и более поздних версиях.
Начнем с создания пустого каталога проекта и настройки виртуальной среды:
$ mkdir my_project && cd my_project
$ python3 -m venv ~ /.venvs/venv
$ source ~ /.venvs/venv/bin/activate
(venv) $ pip install pyre-check
Далее мы рассказываем Pyre о нашем новом проекте:
(venv) $ pyre init
Эта команда настроит конфигурацию для Pyre ( .pyre_configuration
), а также сторожа ( .watchmanconfig
) в каталоге вашего проекта. На данный момент примите значения по умолчанию — при необходимости вы можете изменить их позже.
Теперь мы готовы запустить Pyre:
(venv) $ echo " i: int = 'string' " > test.py
(venv) $ pyre
ƛ Found 1 type error !
test.py:1:0 Incompatible variable type [9]: i is declared to have type ` int ` but is used as type ` str ` .
Этот первый вызов запустит демон, прослушивающий изменения файловой системы — введите проверку проекта постепенно по мере внесения изменений в код. Вы заметите, что последующие вызовы pyre
будут быстрее, чем первый.
Более подробную документацию можно найти на https://pyre-check.org.
См. CONTRIBUTING.md, чтобы узнать, как помочь.
Pyre лицензируется по лицензии MIT.