6 repository-uri
Static analysis tools specifically designed for Python source code to detect errors, style violations, and code smells.
Distinct from Static Code Analysis: Distinct from Static Code Analysis: focuses on Python-specific analysis rather than language-agnostic scanning.
Explore 6 awesome GitHub repositories matching testing & quality assurance · Python Static Analyzers. Refine with filters or upvote what's useful.
Pylint este un instrument de analiză statică a codului pentru Python care verifică codul sursă pentru erori, încălcări ale standardelor de codare și „code smells” fără a executa programul. Acesta parsează codul într-un arbore de sintaxă abstractă și parcurge arborele pentru a detecta probleme, impune reguli de stil configurabile și convenții de denumire și identifică blocuri de cod duplicate prin compararea secvențelor sursă tokenizate. Instrumentul include, de asemenea, un motor de inferență care deduce tipurile de variabile prin simularea căilor de cod, permițând o analiză mai profundă chiar și în codul netipizat. Ceea ce distinge Pylint este arhitectura sa de verificare bazată pe plugin-uri, care permite utilizatorilor să extindă analiza prin încărcarea de module Python externe care înregistrează verificatoare personalizate și reguli de inferență la runtime. Suportă stratificarea fișierelor de configurare, îmbinând setările din mai multe fișiere de configurare și argumente de linie de comandă, astfel încât valorile implicite la nivel de proiect să poată fi suprascrise de opțiuni locale sau specifice plugin-ului. Pylint urmărește, de asemenea, calitatea codului în timp prin compararea rezultatelor analizei curente cu un scor de referință stocat, raportând îmbunătățirea sau regresia în rulări succesive și poate genera diagrame UML de clasă și pachet din arborele de sintaxă abstractă în formatele Graphviz, PlantUML sau MermaidJS. Instrumentul se integrează în pipeline-uri de integrare continuă și hook-uri pre-commit pentru a rula automat verificări pe mai multe versiuni de interpretor Python. Poate fi instalat prin pip, conda sau un manager de pachete de sistem și oferă verificarea opțională a ortografiei identificatorilor de cod prin biblioteca enchant. Pylint oferă, de asemenea, integrare în editoare pentru medii precum Emacs și TextMate și include un vizualizator de explicații pentru mesaje care tipărește descrierea completă și contextul oricărui cod specific de avertizare sau eroare direct din linia de comandă.
Provides static analysis for Python source code, detecting errors, style violations, and code smells.
python-mode este un plugin Vim IDE care oferă un set de instrumente integrat pentru dezvoltarea Python. Încorporează o interfață de debug pentru gestionarea breakpoint-urilor de execuție și inspecția stării programului, un browser de documentație pentru preluarea simbolurilor oficiale ale limbajului și un sistem pentru analiză statică și refactorizare structurală automatizată. Proiectul dispune de un manager de mediu dedicat care detectează și utilizează medii virtuale specifice proiectului pentru a asigura rezoluția corectă a bibliotecilor și a interpretorului. Se integrează cu instrumente externe precum PyLint și Rope pentru a identifica erorile de cod și a efectua refactorizarea la nivelul întregului proiect. Plugin-ul acoperă capabilități largi de dezvoltare, inclusiv linting în timp real, formatarea automată a codului și completarea inteligentă a codului. Oferă, de asemenea, instrumente de navigare structurală pentru a sări între definiții, evidențierea avansată a sintaxei și capacitatea de a executa blocuri individuale de cod direct din editor.
Uses PyLint to perform static analysis of Python source code to detect errors and style violations.
jedi-vim este o extensie Vim și o interfață de server de limbaj (language server) care oferă analiză statică și autocompletare inteligentă pentru dezvoltarea în Python. Funcționează ca o punte între editorul Vim și biblioteca Jedi pentru a aduce capabilități de mediu de dezvoltare integrat (IDE) în editor. Plugin-ul oferă completare de cod conștientă de context și instrumente de analiză statică, inclusiv capacitatea de a sări la definiții, de a urmări utilizarea simbolurilor în fișiere și de a redenumi identificatori global pentru a menține consistența codebase-ului. De asemenea, dispune de pop-up-uri flotante pentru previzualizarea documentației și afișarea semnăturilor funcțiilor în timp real. Instrumentul include integrare pentru mediile virtuale Python pentru a asigura o analiză precisă a dependențelor specifice proiectului și a pachetelor third-party.
Provides a static analysis tool for Python to enable symbol navigation, refactoring, and documentation popups.
autopep8 is a Python static code styler and formatter designed to automatically rewrite source code to comply with the PEP 8 style guide. It functions as a recursive code cleaner that identifies and fixes indentation, whitespace, and syntax irregularities across entire projects. The tool performs structural refactoring using abstract syntax tree transformations to execute non-whitespace changes, such as shortening long lines and improving identity tests. It includes an aggressive refactoring mode for complex style violations and supports selective formatting via inline markers to disable chan
Identifies and fixes indentation, whitespace, and syntax irregularities using static analysis.
Vulture este un instrument de analiză statică și linter conceput pentru a găsi variabile, funcții și clase neutilizate în codul sursă Python. Operează ca un detector de cod mort și un instrument de căutare a codului neutilizat care scanează fișierele sursă pentru a identifica expresiile și importurile inaccesibile fără a executa codul. Instrumentul folosește un sistem de scorare euristic bazat pe încredere pentru a atribui valori de probabilitate detecțiilor, ajutând la distingerea simbolurilor cu adevărat neutilizate de potențialele alarme false. Asistă în continuare la eliminarea logicii moarte prin sortarea claselor și funcțiilor neutilizate detectate după numărul de linii, pentru a prioritiza eliminarea celor mai mari blocuri de cod. Suprafața de analiză include analiza accesibilității fluxului de control, urmărirea referințelor simbolurilor și capacitatea de a suprima alarmele false prin tipare de nume, decoratori sau comentarii de ignorare. Vulture suportă, de asemenea, generarea și gestionarea listelor albe (whitelists) prin module mock pentru a exclude anumite elemente din scanările ulterioare. Regulile de analiză la nivel de proiect și căile țintă pot fi gestionate prin fișiere de configurare, inclusiv suport pentru formatul TOML.
Provides static analysis for Python source code to identify unreachable blocks and unused imports.
Overcommit este un manager de hook-uri Git și un framework de validare pre-commit conceput pentru a automatiza execuția scripturilor și verificărilor în timpul diverselor evenimente Git. Acesta servește drept instrument de automatizare a fluxului de lucru care asigură calitatea codului și respectarea standardelor proiectului înainte ca modificările să fie comise sau trimise (pushed) către un depozit la distanță. Sistemul se distinge printr-o configurare cuprinzătoare bazată pe YAML care permite controlul detaliat al comportamentului hook-urilor, inclusiv filtrarea execuției fișierelor, omiterea condiționată și gestionarea dependențelor hook-urilor. Oferă roluri specializate, cum ar fi un validator de mesaje de commit pentru a impune convenții de denumire și un „push guard” pentru a bloca codul instabil sau nesigur să ajungă pe ramurile remote. Proiectul acoperă o gamă largă de domenii de capabilități, inclusiv analiză statică și linting multi-limbaj, gestionarea automatizată a dependențelor și verificarea securității, cum ar fi scanarea secretelor și conformitatea licențelor. De asemenea, gestionează integritatea depozitului prin impunerea ramurilor protejate și execuția paralelă a hook-urilor pentru a optimiza performanța.
Integrates Pylint to analyze Python files for coding errors and style violations.