https://github.com/python/cpython/commit/f75fc9a780dfb92a8b9a8ef5819d3f6fd10a01f9
commit: f75fc9a780dfb92a8b9a8ef5819d3f6fd10a01f9
branch: 3.13
author: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 
<[email protected]>
committer: hugovk <[email protected]>
date: 2025-08-25T14:38:16+03:00
summary:

[3.13] Lint: Create a project-wide ``.ruff.toml`` settings file (GH-133124) 
(#137670)

Co-authored-by: Alex Waygood <[email protected]>
Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Adam Turner <[email protected]>

files:
A .ruff.toml
A Tools/build/.ruff.toml
M Doc/.ruff.toml
M Lib/test/.ruff.toml
M Tools/clinic/.ruff.toml

diff --git a/.ruff.toml b/.ruff.toml
new file mode 100644
index 00000000000000..1c015fa88415bc
--- /dev/null
+++ b/.ruff.toml
@@ -0,0 +1,12 @@
+# Default settings for Ruff in CPython
+
+# PYTHON_FOR_REGEN
+target-version = "py310"
+
+# PEP 8
+line-length = 79
+
+# Enable automatic fixes by default.
+# To override this, use ``fix = false`` in a subdirectory's config file
+# or ``--no-fix`` on the command line.
+fix = true
diff --git a/Doc/.ruff.toml b/Doc/.ruff.toml
index 111ce03b91df38..3e676e13c3f41a 100644
--- a/Doc/.ruff.toml
+++ b/Doc/.ruff.toml
@@ -1,7 +1,6 @@
+extend = "../.ruff.toml"  # Inherit the project-wide settings
+
 target-version = "py312"  # Align with the version in oldest_supported_sphinx
-fix = true
-output-format = "full"
-line-length = 79
 extend-exclude = [
     "includes/*",
     # Temporary exclusions:
diff --git a/Lib/test/.ruff.toml b/Lib/test/.ruff.toml
index 218eefe5255706..f800dc03dce62f 100644
--- a/Lib/test/.ruff.toml
+++ b/Lib/test/.ruff.toml
@@ -1,5 +1,7 @@
-fix = true
+extend = "../../.ruff.toml"  # Inherit the project-wide settings
+
 target-version = "py312"
+
 extend-exclude = [
     # Excluded (run with the other AC files in its own separate ruff job in 
pre-commit)
     "test_clinic.py",
diff --git a/Tools/build/.ruff.toml b/Tools/build/.ruff.toml
new file mode 100644
index 00000000000000..dcbf2936290f12
--- /dev/null
+++ b/Tools/build/.ruff.toml
@@ -0,0 +1,41 @@
+extend = "../../.ruff.toml"  # Inherit the project-wide settings
+
+[per-file-target-version]
+"deepfreeze.py" = "py311"  # requires `code.co_exceptiontable`
+"stable_abi.py" = "py311"  # requires 'tomllib'
+
+[format]
+preview = true
+docstring-code-format = true
+
+[lint]
+select = [
+    "C4",      # flake8-comprehensions
+    "E",       # pycodestyle
+    "F",       # pyflakes
+    "I",       # isort
+    "ISC",     # flake8-implicit-str-concat
+    "LOG",     # flake8-logging
+    "PGH",     # pygrep-hooks
+    "PT",      # flake8-pytest-style
+    "PYI",     # flake8-pyi
+    "RUF100",  # Ban unused `# noqa` comments
+    "UP",      # pyupgrade
+    "W",       # pycodestyle
+    "YTT",     # flake8-2020
+]
+ignore = [
+    "E501",    # Line too long
+    "F541",    # f-string without any placeholders
+    "PYI024",  # Use `typing.NamedTuple` instead of `collections.namedtuple`
+    "PYI025",  # Use `from collections.abc import Set as AbstractSet`
+    "UP038",   # Use `X | Y` in `isinstance` call instead of `(X, Y)`
+]
+
+[lint.per-file-ignores]
+"{check_extension_modules,freeze_modules}.py" = [
+    "UP031",  # Use format specifiers instead of percent format
+]
+"generate_{re_casefix,sre_constants,token}.py" = [
+    "UP031",  # Use format specifiers instead of percent format
+]
diff --git a/Tools/clinic/.ruff.toml b/Tools/clinic/.ruff.toml
index c019572d0cb186..5033887df0c1cd 100644
--- a/Tools/clinic/.ruff.toml
+++ b/Tools/clinic/.ruff.toml
@@ -1,5 +1,4 @@
-target-version = "py310"
-fix = true
+extend = "../../.ruff.toml"  # Inherit the project-wide settings
 
 [lint]
 select = [

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to