3 repository-uri
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 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ă.
Checks Python source code for errors, coding standard violations, and code smells without execution.
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.
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.