Pylint

Fiche logiciel validé
  • Création ou MAJ importante : 18/02/13
  • Correction mineure : 18/02/13
Mots-clés
Pour aller plus loin

Pylint : analyseur de codes sources Python

Description
Fonctionnalités générales

PyLint est un analyseur de code Python à la recherche d'erreurs, de bugs et de mauvaises pratiques de programmation.

Autres fonctionnalités
  • Convention de code : PyLint est fourni avec les conventions de code par défaut de Python (PEP8), mais il est possible d'en définir d'autres.
  • Évaluation de la qualité du code : Pylint donne une note au code évalué en fonction des erreurs, ou des mauvaises pratiques de programmation décelées.
  • La liste complète des fonctionnalités, ainsi que des tests effectués, sont disponibles sur le site de logilab.
Interopérabilité
  • PyLint peut être intégré dans certains environnements de développent (IDE) comme Eclipse/PyDev.
  • Il serait aussi intéressant d'intégrer les "lint-like" dans une plate-forme d'intégration continue comme par exemple Hudson ou Cruise Control pour tester la non-régression de la qualité du code.
Contexte d'utilisation dans mon laboratoire/service
  • Python est multi-paradigme : script et procédural pour le prototypage mais pour faire du code réutilisable et maintenable (à long terme), la programmation objet est plus adaptée. PyLint est pour nous une aide précieuse pour valider la qualité du code (surtout le code objet).
  • Par exemple, nous utilisons PyLint comme une aide pour faire des revues de code (code-review) et trouver les variables non initialisées (ou déclarées ailleurs que dans le constructeur de la classe), les typos, les "imports" non utilisés...
Limitations, difficultés, fonctionnalités importantes non couvertes

En complément des tests unitaires et tests d'exécution, PyLint est un bon complément pour le développeur en Python qui évite d'avoir à exécuter le programme pour se rendre compte que le code présente des erreurs de syntaxe ou de sémantique. Par contre, PyLint a les mêmes limites que l’interpréteur Python sous-jacent (les limites de l'introspection), il ne peut donc pas trouver les RunTimeError.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Sous Gnu/Linux, dans les distributions Debian, Ubuntu, Fedora (10+) entre autres.

Plates-formes

Pylint est un outil 100% Python, il peut fonctionner dès lors qu'un environnement d'exécution Python est installé, à savoir sous MS Windows, Unix/Linux, Mac OS, les plate-formes embarquées...

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Pour python:

Pour d'autre langages:

  • CLint pour C
  • Jlint pour Java
  • PMD pour Java
  • Findbugs pour Java
Environnement de développement
Type de structure associée au développement
  • Logilab : société de services en logiciels libres spécialisée dans les développements en Python
  • Dépôt Mercurial public : http://hg.logilab.org/pylint
Eléments de pérennité

Code mur (développé depuis 2003). Peu de changements récemment.

Références d'utilisateurs institutionnels
Environnement utilisateur
Documentation utilisateur

La documentation est disponible à http://www.logilab.org/857#documentation_tab.

Divers (astuces, actualités, sécurité)
  • A noter l'arrêt du support pour Python 2.3.
  • J'ai personnellement (Jérôme Kieffer) beaucoup appris des conseils donnés par PyLint.
Contributions