6 مستودعات
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 هي أداة تحليل كود استاتيكي لـ Python تتحقق من الكود المصدري بحثاً عن الأخطاء، وانتهاكات معايير البرمجة، وروائح الكود دون تنفيذ البرنامج. تقوم بتحليل الكود إلى شجرة بناء جملة مجردة وتتجول في الشجرة لاكتشاف المشكلات، وتفرض قواعد أسلوب واتفاقيات تسمية قابلة للتكوين، وتحدد كتل الكود المكررة من خلال مقارنة تسلسلات المصدر المرمزة. تتضمن الأداة أيضاً محرك استنتاج يستنتج أنواع المتغيرات عن طريق محاكاة مسارات الكود، مما يتيح تحليلاً أعمق حتى في الكود غير المكتوب. ما يميز Pylint هو بنية المدقق القائمة على الإضافات، والتي تسمح للمستخدمين بتوسيع التحليل عن طريق تحميل وحدات Python خارجية تسجل مدققين مخصصين وقواعد استنتاج في وقت التشغيل. تدعم طبقات ملفات الإعدادات، ودمج الإعدادات من ملفات إعدادات متعددة ووسائط سطر الأوامر بحيث يمكن تجاوز الإعدادات الافتراضية على مستوى المشروع بواسطة خيارات محلية أو خاصة بالإضافات. يتتبع Pylint أيضاً جودة الكود بمرور الوقت من خلال مقارنة نتائج التحليل الحالية مقابل درجة أساسية مخزنة، والإبلاغ عن التحسن أو التراجع في التشغيلات المتتالية، ويمكنه توليد مخططات فئات وحزم UML من شجرة بناء الجملة المجردة بتنسيقات Graphviz أو PlantUML أو MermaidJS. تتكامل الأداة في خطوط أنابيب التكامل المستمر وخطافات ما قبل الالتزام لتشغيل الفحوصات عبر إصدارات مترجم Python متعددة تلقائياً. يمكن تثبيتها عبر pip أو conda أو مدير حزم النظام، وتوفر تدقيقاً إملائياً اختيارياً لمعرفات الكود من خلال مكتبة enchant. يوفر Pylint أيضاً تكاملاً للمحرر لبيئات مثل Emacs و TextMate، ويتضمن عارض شرح الرسائل الذي يطبع الوصف الكامل وسياق أي رمز تحذير أو خطأ محدد مباشرة من سطر الأوامر.
Provides static analysis for Python source code, detecting errors, style violations, and code smells.
python-mode هي إضافة IDE لـ Vim توفر مجموعة أدوات متكاملة لتطوير Python. تدمج واجهة تصحيح أخطاء لإدارة نقاط التوقف في التنفيذ وفحص حالة البرنامج، ومتصفح توثيق لاسترجاع رموز اللغة الرسمية، ونظاماً للتحليل الساكن وإعادة الهيكلة الهيكلية المؤتمتة. يتميز المشروع بمدير بيئة مخصص يكتشف ويستخدم بيئات افتراضية خاصة بالمشروع لضمان حل المكتبة والمترجم بشكل صحيح. يدمج أدوات خارجية مثل PyLint وRope لتحديد أخطاء الكود وإجراء إعادة هيكلة على مستوى المشروع. تغطي الإضافة قدرات تطوير واسعة بما في ذلك التدقيق في الوقت الفعلي، وتنسيق الكود المؤتمت، وإكمال الكود الذكي. كما توفر أدوات تنقل هيكلية للقفز بين التعريفات، وتمييز بناء الجملة المتقدم، والقدرة على تنفيذ كتل كود فردية مباشرة من المحرر.
Uses PyLint to perform static analysis of Python source code to detect errors and style violations.
jedi-vim هو إضافة لـ Vim وواجهة خادم لغة توفر تحليلاً ثابتاً وإكمالاً ذكياً للكود لتطوير Python. يعمل كجسر بين محرر Vim ومكتبة Jedi لجلب قدرات بيئة التطوير المتكاملة (IDE) إلى المحرر. توفر الإضافة إكمالاً للكود مدركاً للسياق وأدوات تحليل ثابت، بما في ذلك القدرة على الانتقال إلى التعريفات، وتتبع استخدام الرموز عبر الملفات، وإعادة تسمية المعرفات عالمياً للحفاظ على اتساق قاعدة الكود. كما تتميز بنوافذ منبثقة عائمة لمعاينات التوثيق وعرض توقيعات الدوال في الوقت الفعلي. تتضمن الأداة تكاملاً لبيئات Python الافتراضية لضمان تحليل دقيق للتبعيات الخاصة بالمشروع والحزم الخارجية.
Provides a static analysis tool for Python to enable symbol navigation, refactoring, and documentation popups.
autopep8 هو مصحح أسلوب كود Python ساكن ومنسق مصمم لإعادة كتابة الكود المصدري تلقائيًا للامتثال لدليل أسلوب PEP 8. يعمل كمنظف كود عودي يحدد ويصلح المسافات البادئة، والمسافات البيضاء، ومخالفات البنية عبر المشاريع بأكملها. تقوم الأداة بإعادة هيكلة هيكلية باستخدام تحويلات شجرة البنية المجردة لتنفيذ تغييرات غير المسافات البيضاء، مثل تقصير الأسطر الطويلة وتحسين اختبارات الهوية. تتضمن وضع إعادة هيكلة قوي لمخالفات الأسلوب المعقدة وتدعم التنسيق الانتقائي عبر علامات مضمنة لتعطيل التغييرات لكتل كود محددة. تشمل القدرات تصفية الإصلاح القائمة على القواعد لاستهداف أو تجاهل رموز خطأ محددة، وتنسيق نطاق الأسطر، وتوليد تقارير فرق الأسلوب. يمكن للنظام معالجة الملفات من خلال واجهة سطر أوامر مع اجتياز الدليل العودي وتعديل الملف في مكانه، أو دمجه برمجيًا عبر API. يمكن إدارة تفضيلات التنسيق ومجموعات القواعد من خلال ملفات التكوين العالمية أو المحلية.
Identifies and fixes indentation, whitespace, and syntax irregularities using static analysis.
Vulture is a static analysis tool and linter designed to find unused variables, functions, and classes in Python source code. It operates as a dead code detector and unused code finder that scans source files to identify unreachable expressions and imports without executing the code. The tool employs a confidence-based heuristic scoring system to assign probability values to detections, helping to distinguish truly unused symbols from potential false positives. It further assists in pruning dead logic by sorting detected unused classes and functions by line count to prioritize the removal of
Provides static analysis for Python source code to identify unreachable blocks and unused imports.
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
Integrates Pylint to analyze Python files for coding errors and style violations.