--- /dev/null
+# 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
--- /dev/null
+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
+]