Pyre es un verificador de tipos de alto rendimiento para Python que cumple con PEP 484. Pyre puede analizar bases de código con millones de líneas de código de forma incremental, proporcionando retroalimentación instantánea a los desarrolladores a medida que escriben el código. Puedes probarlo con ejemplos en Pyre Playground.
Pyre se envía con Pysa , una herramienta de análisis estático centrada en la seguridad que hemos creado sobre Pyre y que analiza los flujos de datos en aplicaciones Python. Consulte nuestra documentación para comenzar con nuestro análisis de seguridad.
Pysa también está disponible en GitHub Marketplace como una acción de Github
Para comenzar, necesita Python 3.8 o posterior y un vigilante trabajando en su sistema. En MacOS puedes conseguir todo con homebrew:
$ brew install python3 watchman
En Ubuntu , Mint o Debian ; use apt-get
y homebrew:
$ sudo apt-get install python3 python3-pip python3-venv
$ brew install watchman
Probamos Pyre en Ubuntu 18.04.5 LTS , CentOS 7 , así como OSX 10.11 y posteriores.
Comenzamos creando un directorio de proyecto vacío y configurando un entorno virtual:
$ mkdir my_project && cd my_project
$ python3 -m venv ~ /.venvs/venv
$ source ~ /.venvs/venv/bin/activate
(venv) $ pip install pyre-check
A continuación, le enseñamos a Pyre sobre nuestro nuevo proyecto:
(venv) $ pyre init
Este comando establecerá una configuración para Pyre ( .pyre_configuration
) así como para watchman ( .watchmanconfig
) en el directorio de su proyecto. Acepte los valores predeterminados por ahora; podrá cambiarlos más adelante si es necesario.
Ahora estamos listos para ejecutar 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 primera invocación iniciará un demonio que escuchará los cambios en el sistema de archivos; escriba la verificación de su proyecto de forma incremental a medida que realice ediciones en el código. Notarás que las invocaciones posteriores de pyre
serán más rápidas que la primera.
Para obtener documentación más detallada, consulte https://pyre-check.org.
Consulte CONTRIBUTING.md para saber cómo ayudar.
Pyre tiene la licencia MIT.