Pyre é um verificador de tipo de desempenho para Python compatível com PEP 484. Pyre pode analisar bases de código com milhões de linhas de código de forma incremental – fornecendo feedback instantâneo aos desenvolvedores enquanto eles escrevem o código. Você pode experimentar com exemplos no Pyre Playground.
O Pyre vem com o Pysa , uma ferramenta de análise estática focada em segurança que construímos sobre o Pyre e que raciocina sobre fluxos de dados em aplicativos Python. Consulte nossa documentação para começar com nossa análise de segurança.
Pysa também está disponível no GitHub Marketplace como uma ação do Github
Para começar, você precisa do Python 3.8 ou posterior e do watchman trabalhando em seu sistema. No MacOS você pode obter tudo com o homebrew:
$ brew install python3 watchman
No Ubuntu , Mint ou Debian ; use apt-get
e homebrew:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
Testamos o Pyre no Ubuntu 18.04.5 LTS , CentOS 7 , bem como no OSX 10.11 e posterior.
Começamos criando um diretório de projeto vazio e configurando um ambiente virtual:
$ mkdir my_project && cd my_project
$ python3 -m venv ~ /.venvs/venv
$ source ~ /.venvs/venv/bin/activate
(venv) $ pip install pyre-check
A seguir, ensinamos Pyre sobre nosso novo projeto:
(venv) $ pyre init
Este comando definirá uma configuração para Pyre ( .pyre_configuration
) e também para watchman ( .watchmanconfig
) no diretório do seu projeto. Aceite os padrões por enquanto – você poderá alterá-los mais tarde, se necessário.
Agora estamos prontos para executar o 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 ` .
Esta primeira invocação iniciará um daemon ouvindo alterações no sistema de arquivos – digite verificando seu projeto de forma incremental à medida que você faz edições no código. Você notará que as invocações subsequentes de pyre
serão mais rápidas que a primeira.
Para documentação mais detalhada, consulte https://pyre-check.org.
Consulte CONTRIBUTING.md para saber como ajudar.
Pyre é licenciado sob a licença do MIT.