3 dépôts
Static code analyzers specifically designed for Python source code to detect errors, style violations, and code smells.
Distinct from Static Code Analyzers: Distinct from Static Code Analyzers: focuses on Python-specific analysis rather than language-agnostic scanning.
Explore 3 awesome GitHub repositories matching software engineering & architecture · Python Analyzers. Refine with filters or upvote what's useful.
Pylint est un outil d'analyse statique de code pour Python qui vérifie le code source pour les erreurs, les violations des normes de codage et les « code smells » sans exécuter le programme. Il analyse le code dans un arbre de syntaxe abstraite et parcourt l'arbre pour détecter les problèmes, applique des règles de style et des conventions de nommage configurables, et identifie les blocs de code dupliqués en comparant les séquences sources tokenisées. L'outil inclut également un moteur d'inférence qui déduit les types de variables en simulant les chemins de code, permettant une analyse plus approfondie même dans le code non typé. Ce qui distingue Pylint est son architecture de vérificateur basée sur des plugins, qui permet aux utilisateurs d'étendre l'analyse en chargeant des modules Python externes qui enregistrent des vérificateurs et des règles d'inférence personnalisés lors de l'exécution. Il prend en charge la superposition de fichiers de configuration, fusionnant les paramètres de plusieurs fichiers de configuration et arguments de ligne de commande afin que les valeurs par défaut à l'échelle du projet puissent être remplacées par des options locales ou spécifiques aux plugins. Pylint suit également la qualité du code au fil du temps en comparant les résultats d'analyse actuels par rapport à un score de référence stocké, signalant l'amélioration ou la régression lors des exécutions successives, et peut générer des diagrammes de classes et de paquets UML à partir de l'arbre de syntaxe abstraite dans les formats Graphviz, PlantUML ou MermaidJS. L'outil s'intègre dans les pipelines d'intégration continue et les hooks de pré-validation pour exécuter automatiquement des vérifications sur plusieurs versions de l'interpréteur Python. Il peut être installé via pip, conda ou un gestionnaire de paquets système, et offre une vérification orthographique optionnelle des identifiants de code via la bibliothèque enchant. Pylint fournit également une intégration d'éditeur pour des environnements tels qu'Emacs et TextMate, et inclut une visionneuse d'explication de message qui imprime la description complète et le contexte de tout code d'avertissement ou d'erreur spécifique directement depuis la ligne de commande.
Checks Python source code for errors, coding standard violations, and code smells without execution.
Overcommit is a Git hook manager and pre-commit validation framework designed to automate the execution of scripts and checks during various Git events. It serves as a workflow automation tool that ensures code quality and project standards are met before changes are committed or pushed to a remote repository. The system distinguishes itself through a comprehensive YAML-based configuration that allows for detailed hook behavior control, including file execution filtering, conditional skipping, and the management of hook dependencies. It provides specialized roles such as a commit message vali
Performs static analysis on Python files to detect errors, style violations, and code smells.
The Python Language Server is a backend engine that provides code intelligence, autocompletion, and diagnostics for Python projects. By implementing the standardized Language Server Protocol, it enables consistent development features such as definition navigation, signature help, and documentation lookups across various text editors and integrated development environments. The project functions as a modular framework that utilizes a plugin-based architecture to support third-party extensions. This design allows for the dynamic injection of specialized capabilities, including custom type chec
Functions as a modular analyzer supporting third-party extensions for Python-specific code quality enforcement.