Pylint

Last updated
Pylint
Developer(s) Sylvain Thénault (Logilab S.A.) [1] [2]
Initial release2001;22 years ago (2001)
Stable release
3.0.3 [3]   OOjs UI icon edit-ltr-progressive.svg / 11 December 2023
Repository
Written in Python
License General Public License
Website pylint.pycqa.org

Pylint is a static code analysis tool for the Python programming language. It is named following a common convention in Python of a "py" prefix, and a nod to the C programming lint program. It follows the style recommended by PEP 8, the Python style guide. [4] It is similar to Pychecker and Pyflakes, but includes the following features:

It is also equipped with the Pyreverse module that allows UML diagrams to be generated from Python code.

It can be used as a stand-alone program, but also integrates with IDEs such as Eclipse with PyDev, [6] Spyder and Visual Studio Code, [7] and editors such as Atom, [8] GNU Emacs and Vim.

It has received favourable reviews. [9] [10] [11]

Related Research Articles

Lint is the computer science term for a static code analysis tool used to flag programming errors, bugs, stylistic errors and suspicious constructs. The term originates from a Unix utility that examined C language source code. A program which performs this function is also known as a "linter".

<span class="mw-page-title-main">Python (programming language)</span> General-purpose programming language

Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.

<span class="mw-page-title-main">IntelliJ IDEA</span> Integrated development environment

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

The Web Server Gateway Interface is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. The current version of WSGI, version 1.0.1, is specified in Python Enhancement Proposal (PEP) 3333.

eric (software)

eric is a free integrated development environment (IDE) used for computer programming. Since it is a full featured IDE, it provides by default all necessary tools needed for the writing of code and for the professional management of a software project.

<span class="mw-page-title-main">PyPy</span> Alternative implementation of the Python programming language

PyPy is an implementation of the Python programming language. PyPy often runs faster than the standard implementation CPython because PyPy uses a just-in-time compiler. Most Python code runs well on PyPy except for code that depends on CPython extensions, which either does not work or incurs some overhead when run in PyPy. Internally, PyPy uses a technique known as meta-tracing, which transforms an interpreter into a tracing just-in-time compiler. Since interpreters are usually easier to write than compilers, but run slower, this technique can make it easier to produce efficient implementations of programming languages. PyPy's meta-tracing toolchain is called RPython.

Automated code review software checks source code for compliance with a predefined set of rules or best practices. The use of analytical methods to inspect and review source code to detect bugs or security issues has been a standard development practice in both Open Source and commercial software domains. This process can be accomplished both manually and in an automated fashion. With automation, software tools provide assistance with the code review and inspection process. The review program or tool typically displays a list of warnings. A review program can also provide an automated or a programmer-assisted way to correct the issues found. This is a component for mastering easily software. This is contributing to the Software Intelligence practice. This process is usually called "linting" since one of the first tools for static code analysis was called Lint.

FxCop is a free static code analysis tool from Microsoft that checks .NET managed code assemblies for conformance to Microsoft's .NET Framework Design Guidelines.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source-code editors and GUI builders are not included. These IDEs are listed in alphabetic order of the supported language.

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript programs are syntactically valid TypeScript, but they can fail to type-check for safety reasons.

StyleCop is an open-source static code analysis tool from Microsoft that checks C# code for conformance to StyleCop's recommended coding styles and a subset of Microsoft's .NET Framework Design Guidelines. StyleCop analyses the source code, allowing it to enforce a different set of rules from FxCop. The rules are classified into the following categories:


The Wing Python IDE family of integrated development environments (IDEs) from Wingware was created specifically for the Python programming language, with support for editing, testing, debugging, inspecting/browsing, and error checking Python code.

<span class="mw-page-title-main">SonarQube</span> Open-source platform for continuous inspection of code quality

SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs and code smells on 29 programming languages. SonarQube offers reports on duplicated code, coding standards, unit tests, code coverage, code complexity, comments, bugs, and security recommendations.

Cppcheck is a static code analysis tool for the C and C++ programming languages. It is a versatile tool that can check non-standard code. The creator and lead developer is Daniel Marjamäki.

<span class="mw-page-title-main">PyCharm</span> Python IDE

PyCharm is an integrated development environment (IDE) used for programming in Python. It provides code analysis, a graphical debugger, an integrated unit tester, integration with version control systems, and supports web development with Django. PyCharm is developed by the Czech company JetBrains.

<span class="mw-page-title-main">Spyder (software)</span> IDE for scientific programming in Python

Spyder is an open-source cross-platform integrated development environment (IDE) for scientific programming in the Python language. Spyder integrates with a number of prominent packages in the scientific Python stack, including NumPy, SciPy, Matplotlib, pandas, IPython, SymPy and Cython, as well as other open-source software. It is released under the MIT license.

cpplint or cpplint.py is an open source lint-like tool developed by Google, designed to ensure that C++ code conforms to Google's coding style guides.

<span class="mw-page-title-main">JetBrains</span> Czech software company

JetBrains s.r.o. is a Czech software development private limited company which makes tools for software developers and project managers. The company has its headquarters in Prague, and has offices in China, Europe, and the United States.

References

  1. "Pylint User Manual – Pylint 2.0.0 documentation". Docs.pylint.org. Retrieved 2016-11-16.
  2. Tobias Macey (2015-12-12). "Episode 35 – Sylvain Thénault on ASTroid". pythonpodcast.com. Retrieved 2016-11-17.
  3. "Release 3.0.3". 11 December 2023. Retrieved 19 December 2023.
  4. "PEP 8 – Style Guide for Python Code". Python.org. Retrieved 2016-11-16.
  5. "pylint (analyzes Python source code looking for bugs and signs of poor quality)". Logilab.org. 2006-09-26. Retrieved 2016-11-16.
  6. "PyLint". Pydev.org. 2016-10-31. Retrieved 2016-11-16.
  7. "Python for VSCode – Visual Studio Marketplace". Marketplace.visualstudio.com. Retrieved 2016-11-16.
  8. "linter-pylint" . Retrieved 2016-11-17.
  9. José Castro (8 January 2016). "Review of Python Static Analysis Tools – Codacy | Blog". Blog.codacy.com. Retrieved 2016-11-16. "Pylint is by far the best tool."
  10. "PyLint: Analyzing Python Code | The Mouse Vs. The Python". Blog.pythonlibrary.org. 2012-06-12. Retrieved 2016-11-16. "pylint is probably the most popular".
  11. "Write Clean, Professional, Maintainable, Quality Code in Python | PyCharm Blog". Blog.jetbrains.com. 2014-06-13. Retrieved 2016-11-16. "Pylint is still the definitive tool for Python code analysis".