Ruff
Developer(s)Charlie Marsh
Initial release2022; 2 years ago (2022)
Written inRust
LicenseGeneral Public License
Websitepylint.pycqa.org

Ruff is a static code analysis tool for the Python programming language written in Rust 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.[1] It is similar to Pychecker and Pyflakes, but includes the following features:

  • Checking the length of each line
  • Checking that variable names are well-formed according to the project's coding standard
  • Checking that declared interfaces are truly implemented.[2]

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,[3] Spyder and Visual Studio Code,[4] and editors such as Atom,[5] GNU Emacs and Vim.

It has received favourable reviews.[6][7][8]

References

edit
  1. ^ "PEP 8 – Style Guide for Python Code". Python.org. Retrieved 2016-11-16.
  2. ^ "pylint (analyzes Python source code looking for bugs and signs of poor quality)". Logilab.org. 2006-09-26. Retrieved 2016-11-16.
  3. ^ "PyLint". Pydev.org. 2016-10-31. Retrieved 2016-11-16.
  4. ^ "Python for VSCode – Visual Studio Marketplace". Marketplace.visualstudio.com. Retrieved 2016-11-16.
  5. ^ "linter-pylint". Retrieved 2016-11-17.
  6. ^ 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."
  7. ^ "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".
  8. ^ "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".
edit