3 个仓库
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 是一个 Python 静态代码分析工具,它在不执行程序的情况下检查源代码中的错误、编码标准违规和代码异味。它将代码解析为抽象语法树并遍历该树以检测问题,强制执行可配置的样式规则和命名约定,并通过比较标记化的源序列来识别重复的代码块。该工具还包含一个推理引擎,通过模拟代码路径来推断变量类型,即使在无类型代码中也能进行更深入的分析。 Pylint 的独特之处在于其基于插件的检查器架构,它允许用户通过加载在运行时注册自定义检查器和推理规则的外部 Python 模块来扩展分析。它支持配置文件分层,合并来自多个配置文件和命令行参数的设置,以便项目范围的默认值可以被本地或插件特定的选项覆盖。Pylint 还通过将当前的分析结果与存储的基准分数进行比较来跟踪代码质量随时间的变化,报告连续运行中的改进或回归,并可以以 Graphviz、PlantUML 或 MermaidJS 格式从抽象语法树生成 UML 类图和包图。 该工具集成到持续集成流水线和预提交钩子中,以自动跨多个 Python 解释器版本运行检查。它可以通过 pip、conda 或系统包管理器安装,并通过 enchant 库提供代码标识符的可选拼写检查。Pylint 还为 Emacs 和 TextMate 等环境提供编辑器集成,并包含一个消息解释查看器,可直接从命令行打印任何特定警告或错误代码的完整描述和上下文。
Checks Python source code for errors, coding standard violations, and code smells without execution.
Overcommit 是一个 Git 钩子管理器和预提交验证框架,旨在自动化在各种 Git 事件期间执行脚本和检查。它作为一个工作流自动化工具,确保在更改提交或推送到远程存储库之前满足代码质量和项目标准。 该系统通过全面的基于 YAML 的配置脱颖而出,该配置允许对钩子行为进行详细控制,包括文件执行过滤、有条件跳过和钩子依赖项管理。它提供专门的角色,例如提交消息验证器以强制执行命名约定,以及推送防护以阻止不稳定或不安全的代码到达远程分支。 该项目涵盖了广泛的功能领域,包括多语言静态分析和 Linting、自动化依赖管理以及安全验证(如密钥扫描和许可证合规性)。它还通过受保护的分支强制执行和并行钩子执行来管理存储库完整性,以优化性能。
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.