awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
PyCQA avatar

PyCQA/pylint

0
View on GitHub↗
5,685 stars·1,260 forks·Python·GPL-2.0·14 viewspylint.readthedocs.io/en/latest↗

Pylint

Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and code smells without executing the program. It parses code into an abstract syntax tree and walks the tree to detect issues, enforces configurable style rules and naming conventions, and identifies duplicate code blocks by comparing tokenised source sequences. The tool also includes an inference engine that deduces variable types by simulating code paths, enabling deeper analysis even in untyped code.

What distinguishes Pylint is its plugin-based checker architecture, which allows users to extend analysis by loading external Python modules that register custom checkers and inference rules at runtime. It supports configuration file layering, merging settings from multiple configuration files and command-line arguments so project-wide defaults can be overridden by local or plugin-specific options. Pylint also tracks code quality over time by comparing current analysis results against a stored baseline score, reporting improvement or regression in successive runs, and can generate UML class and package diagrams from the abstract syntax tree in Graphviz, PlantUML, or MermaidJS formats.

The tool integrates into continuous integration pipelines and pre-commit hooks to run checks across multiple Python interpreter versions automatically. It can be installed via pip, conda, or a system package manager, and offers optional spell-checking of code identifiers through the enchant library. Pylint also provides editor integration for environments such as Emacs and TextMate, and includes a message explanation viewer that prints the full description and context of any specific warning or error code directly from the command line.

Features

  • Static Code Analysis - Scans Python source code without execution to detect errors, style violations, and code smells.
  • Python Static Analyzers - Provides static analysis for Python source code, detecting errors, style violations, and code smells.
  • Custom Lint Rule Plugins - Allows users to define custom naming conventions and write plugins for project-specific rules.
  • Plugin-Based Checker Architectures - Ships a plugin-based checker architecture that loads external Python modules for custom rules.
  • CI/CD Pipeline Integrations - Integrates into CI pipelines and pre-commit hooks to enforce code quality automatically.
  • Coding Standards Enforcement - Checks code against configurable style rules to ensure consistent formatting and naming conventions.
  • Third-Party Plugins - Loads user-written or third-party plugins to add project-specific or framework-specific checks.
  • Plugin-Based Architectures - Extends analysis capabilities by loading external Python modules that register custom checkers and inference rules at runtime.
  • Python Analyzers - Checks Python source code for errors, coding standard violations, and code smells without execution.
  • Pattern Violation Scanning - Scans Python source files and reports coding standard violations, probable bugs, and refactoring opportunities.
  • Custom Checker Registrations - Register a new rule that inspects code for problems and reports violations during analysis.
  • Code Quality Checks - Enforces configurable style rules and naming conventions to ensure consistent formatting.
  • Code Quality Tools - Integrates into CI pipelines and pre-commit hooks to enforce coding standards across Python versions.
  • Static Analysis AST Parsing - Parses Python source code into an abstract syntax tree to detect errors and style violations without execution.
  • Static Logic Error Detection - Analyzes Python source code without execution to find bugs, syntax mistakes, and runtime-like errors.
  • Code Analysis and Refactoring - Identifies code smells and recommends structural changes to improve codebase maintainability.
  • Layered Configuration Mergers - Merges settings from multiple configuration files and command-line arguments with layered override support.
  • AST-Based Diagram Generators - Generates UML class and package diagrams from Python source code via the abstract syntax tree.
  • AST-Based Generators - Produces class and package diagrams from Python source code to visualize project structure.
  • Code Duplication Directory Scans - Scans Python source files for identical or near-identical code blocks and reports similarity percentages.
  • Transformation Plugin Development - Modifies the inference engine to understand project-specific patterns or third-party libraries.
  • Pre-commit Hooks - Configures the analyser to execute automatically before each commit to catch issues early.
  • CI Pipeline Integrations - Runs static analysis across multiple Python interpreters during automated build pipelines to catch issues early.
  • Continuous Integration Checks - Automatically executes linting and analysis on pushed code or pull requests as part of a build pipeline.
  • Code Smell Detectors - Identifies problematic patterns and recommends improvements to make code cleaner and more maintainable.
  • Type Inference Support - Deduces variable types by simulating code paths, enabling deeper analysis even in untyped Python code.
  • Token-Based Duplication Detectors - Scans Python source files for identical or near-identical code blocks and reports their locations and similarity percentage.
  • Plugin Configurations - Reads additional settings from a plugin after the main configuration is applied, allowing custom defaults.
  • Regex-Based Customizations - Allows overriding default regular expressions for valid constant, variable, or function names.
  • Quality - Tracks code quality scores over time, reporting improvement or regression between successive analysis runs.
  • Type Inference Engines - Deduces variable types by simulating code paths and propagating type information through the internal program representation.
  • Code Quality Tools - Analyzes Python code for errors and style.
  • Linting And Formatting - Python static analysis and error checking.

Star history

Star history chart for pycqa/pylintStar history chart for pycqa/pylint

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Pylint

Similar open-source projects, ranked by how many features they share with Pylint.
  • pylint-dev/pylintpylint-dev avatar

    pylint-dev/pylint

    5,685View on GitHub↗

    Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code smells, and type-related issues without executing the program. It functions as a plugin-based linter framework, allowing users to extend its analysis capabilities with custom or third-party checks for project-specific rules and framework support. The tool also includes a duplicate code detector that identifies identical or near-identical code blocks across a project to help reduce redundancy. Beyond its core linting functionality, Pylint can generate UML class and package diagrams f

    Pythonclosembercode-qualityhacktoberfest
    View on GitHub↗5,685
  • standard/standardstandard avatar

    standard/standard

    29,431View on GitHub↗

    Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style guide. It functions as a static code analyzer that scans source code for style violations and potential errors without executing the program. The project provides an automatic code fixer that rewrites source code to resolve formatting issues and enforce syntax consistency. It implements a standardized set of rules for JavaScript formatting and syntax to ensure a uniform appearance across different projects. The system covers a wide range of static analysis capabilities, includi

    JavaScriptdevelopmentecmascriptes6
    View on GitHub↗29,431
  • checkstyle/checkstylecheckstyle avatar

    checkstyle/checkstyle

    8,867View on GitHub↗

    Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement

    Javacode-qualitycommand-line-toolhacktoberfest
    View on GitHub↗8,867
  • squizlabs/php_codesniffersquizlabs avatar

    squizlabs/PHP_CodeSniffer

    10,771View on GitHub↗

    PHP_CodeSniffer is a static analysis tool, coding standard linter, and command-line validator for PHP. It scans files and directories to detect and report formatting errors and language-specific coding violations without executing the code. The project functions as an automated code formatter capable of correcting detected style and formatting violations to bring source code into compliance with defined standards. It uses token-based lexical analysis to match code patterns against rule sets, ensuring consistency across a codebase. The tool provides comprehensive capabilities for recursive fi

    PHPautomationclicoding-standards
    View on GitHub↗10,771
See all 30 alternatives to Pylint→

Frequently asked questions

What does pycqa/pylint do?

Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and code smells without executing the program. It parses code into an abstract syntax tree and walks the tree to detect issues, enforces configurable style rules and naming conventions, and identifies duplicate code blocks by comparing tokenised source sequences. The tool also includes an inference engine that deduces variable types by simulating code paths,…

What are the main features of pycqa/pylint?

The main features of pycqa/pylint are: Static Code Analysis, Python Static Analyzers, Custom Lint Rule Plugins, Plugin-Based Checker Architectures, CI/CD Pipeline Integrations, Coding Standards Enforcement, Third-Party Plugins, Plugin-Based Architectures.

What are some open-source alternatives to pycqa/pylint?

Open-source alternatives to pycqa/pylint include: pylint-dev/pylint — Pylint is a static code analyzer for Python that scans source code for errors, coding standard violations, code… standard/standard — Standard is a suite of static analysis tools for JavaScript, comprising a linter, formatter, and a predefined style… checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… squizlabs/php_codesniffer — PHP_CodeSniffer is a static analysis tool, coding standard linter, and command-line validator for PHP. It scans files… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… sonarsource/sonarqube — SonarQube is a static code analysis platform used to scan source code and infrastructure scripts across multiple…