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
·
pylint-dev avatar

pylint-dev/pylint

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

Pylint

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 from Python source code, outputting them in Graphviz, PlantUML, or MermaidJS formats. It integrates into continuous integration pipelines to run across multiple Python interpreters, and can be configured to run automatically before each commit through pre-commit hooks. The tool assigns numeric scores and message codes to each detected violation, with a configurable scoring system that lets users enable, disable, or weight rules via configuration files.

Pylint supports custom checker development, editor integration, and transform plugin development for improving type inference accuracy with specific libraries or frameworks. It can display a badge in project READMEs to indicate usage of the tool. The analyzer is installed as a command-line executable and can be connected to development environments to highlight issues as code is written.

Features

  • Python - Scans Python source code for errors, coding standard violations, and code smells without executing the program.
  • Plugin-Based Linter Frameworks - Extends analysis with custom or third-party checks for project-specific rules and framework support.
  • Coding Standards Enforcement - Checks code against a configurable set of style rules to ensure consistent formatting and adherence to a chosen standard.
  • Third-Party Plugins - Loads custom or third-party checks to enforce project-specific rules or support frameworks.
  • Plugin-Based Architectures - Extends analysis by loading external checker modules that register new rules at runtime.
  • Continuous Integration Quality Controls - Runs across multiple Python interpreters in continuous integration pipelines to enforce code quality standards.
  • Static Code Analysis - Scans Python source code for errors, style violations, and code smells without executing the program.
  • Static Analysis AST Parsing - Parses Python source into an AST to detect errors and violations without execution.
  • Static Logic Error Detection - Scans Python source code without executing it to detect syntax errors, type mismatches, and other runtime-preventable bugs.
  • Scoring Systems - Ships a configurable scoring system that weights and scores each detected violation.
  • UML Diagram Generators - Generates UML class and package diagrams from Python source code to visualize project structure.
  • Code Duplication Directory Scans - Scans source files for identical or near-identical blocks of text and reports their locations and similarity percentage.
  • Transformation Plugin Development - Modifies how the analyser infers types for specific libraries or frameworks to improve accuracy.
  • CI Pipeline Integrations - Runs across multiple Python interpreters as part of automated CI build pipelines.
  • Continuous Integration Checks - Runs automated code analysis across multiple Python interpreters during CI builds.
  • Code Smell Detectors - Flags patterns that indicate potential design problems or maintainability issues and suggests refactoring opportunities.
  • Automatic Variable Type Inference - Infers variable types from assignment patterns and control flow within the AST without annotations.
  • Readability Refactorings - Identifies code smells and patterns that could be improved for better readability, maintainability, or performance.
  • Token-Based Duplicate Detectors - Identifies identical or near-identical code blocks across a project to help reduce redundancy.
  • Duplication Detection Servers - Identifies duplicate code blocks by comparing tokenised source sequences across files.
  • Custom Rule Development - Provides APIs to create custom rules that inspect code for project-specific errors or style violations.
  • Static Type Inference Engines - Analyses the actual runtime values of variables and expressions using internal AST representation to detect type-related issues.
  • Code Analysis - Listed in the “Code Analysis” section of the Awesome Python awesome list.
  • Code Analysis and Quality - Highly customizable source code analyzer.
  • Code Quality Tools - Static analysis tool for Python code.
  • Linters And Style Checkers - Comprehensive static analysis tool for identifying code errors.

Star history

Star history chart for pylint-dev/pylintStar history chart for pylint-dev/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.
  • pycqa/pylintPyCQA avatar

    PyCQA/pylint

    5,685View on GitHub↗

    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 allo

    Python
    View on GitHub↗5,685
  • 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
  • pmd/pmdpmd avatar

    pmd/pmd

    5,425View on GitHub↗

    PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code without executing the program. It functions as a code smell detector and coding standard enforcer, ensuring source code adheres to specific naming conventions, structural requirements, and project style guides. The project features an XPath-based rule engine that allows users to define custom analysis patterns using queries against an abstract syntax tree. It also includes a copy-paste detector to identify duplicated code blocks across multiple files and a visual rule designer for

    Javaapexcode-analysiscode-quality
    View on GitHub↗5,425
  • pycqa/flake8PyCQA avatar

    PyCQA/flake8

    3,760View on GitHub↗

    Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding standards in source files. It serves as a linting wrapper that aggregates multiple checkers into a single interface, functioning as a pluggable framework for Python code analysis. The tool incorporates a cyclomatic complexity analyzer to measure the logical complexity of functions and identify code that requires refactoring. It is designed for extensibility, allowing the integration of custom plugins and rules through defined entry points. The system provides capabilities fo

    Pythoncomplexity-analysisflake8linter
    View on GitHub↗3,760
See all 30 alternatives to Pylint→

Frequently asked questions

What does pylint-dev/pylint do?

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…

What are the main features of pylint-dev/pylint?

The main features of pylint-dev/pylint are: Python, Plugin-Based Linter Frameworks, Coding Standards Enforcement, Third-Party Plugins, Plugin-Based Architectures, Continuous Integration Quality Controls, Static Code Analysis, Static Analysis AST Parsing.

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

Open-source alternatives to pylint-dev/pylint include: pycqa/pylint — Pylint is a static code analysis tool for Python that checks source code for errors, coding standard violations, and… checkstyle/checkstyle — Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best… pmd/pmd — PMD is a multi-language static code analyzer used to identify programming flaws, unused variables, and dead code… pycqa/flake8 — Flake8 is a Python style checker and static analysis tool that identifies programmatic errors and violations of coding… detekt/detekt — Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as… troessner/reek — Reek is a static code analyzer for Ruby projects designed to identify design flaws and maintainability issues known as…