[PATCH] D143852: [docs] Add Python coding standard to documentation

Tobias Hieta via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 12 12:01:03 PST 2023


thieta created this revision.
Herald added a project: All.
thieta requested review of this revision.
Herald added a project: LLVM.

As discussed on the forums:

https://discourse.llvm.org/t/rfc-document-and-standardize-python-code-style/


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D143852

Files:
  llvm/docs/CodingStandards.rst


Index: llvm/docs/CodingStandards.rst
===================================================================
--- llvm/docs/CodingStandards.rst
+++ llvm/docs/CodingStandards.rst
@@ -50,6 +50,9 @@
 conforming, modern, and portable C++ code as the implementation language of
 choice.
 
+For automation, build-systems and utility scripts Python is preferred and
+is widely used in the LLVM repository already.
+
 C++ Standard Versions
 ---------------------
 
@@ -102,6 +105,19 @@
 please consult `that section of the programmer's manual
 <https://llvm.org/docs/ProgrammersManual.html#picking-the-right-data-structure-for-a-task>`_.
 
+Python version and Source Code Formatting
+-----------------------------------------
+
+The current minimum version of Python required is 3.6. Python code in the LLVM
+repository should only use language features available in this version of Python.
+
+The Python code within the LLVM repository should adhere to the formatting guidelines
+outlined in `PEP-8 <https://peps.python.org/pep-0008/>`_.
+
+We recommend automatic code reformatting with the `black <https://github.com/psf/black>`_
+utility. Black allows changing the formatting rules based on major version. In order
+to avoid churn in the formatting rules we currently use black version 23.x in LLVM.
+
 Mechanical Source Issues
 ========================
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D143852.496779.patch
Type: text/x-patch
Size: 1346 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230212/2f4f109d/attachment.bin>


More information about the llvm-commits mailing list