Pylyzer : un analyseur de code Python

Par:
fredericmazue

jeu, 18/04/2024 - 13:50

Pylyzer est un analyseur de code statique/serveur de langage pour Python, à la manière de Ruff. Avec cette différence que pylyzer est écrit en Rust ce qui lui assure de très bonnes performances. Selon ses développeurs, pylyzer est 100 fois plus rapide que pytype et pyright.

pylyzer peut faire plus que la vérification de type. Par exemple, il peut détecter les accès hors limites aux listes et les accès aux clés inexistantes dans les dictionnaires. pylyzer en tant que serveur de langue prend en charge diverses fonctionnalités, telles que la complétion et le renommage (le serveur de langue est une adaptation du Erg Language Server (ELS). pylyzer utilise le vérificateur de type du langage de programmation Erg en interne. Ce langage est un langage transpilé qui cible Python et possède un système de types statiques. pylyzer convertit les AST Python en AST Erg et les transmet au vérificateur de type d'Erg. Il affiche ensuite les résultats avec les modifications appropriées.

Il est à noter que comme pylyzer est un analyseur statique, il ne peut pas vérifier un code qui utilise la réflexivité.

pylyzer est un logiciel libre sous licence MIT, disponible sur GitHub.

Commentaires

Annonce quelque peu prématurée, le produit est juste inexploitable qui signale des tonnes d'erreurs qui n'existent pas. Le pompon étant probablement celle-là :

   to import python modules, use pyimport (not import)