| [build-system] | 
 | requires = [ | 
 |     "setuptools", | 
 |     "wheel", | 
 |     "astunparse", | 
 |     "numpy", | 
 |     "ninja", | 
 |     "pyyaml", | 
 |     "cmake", | 
 |     "typing-extensions", | 
 |     "requests", | 
 | ] | 
 | # Use legacy backend to import local packages in setup.py | 
 | build-backend = "setuptools.build_meta:__legacy__" | 
 |  | 
 |  | 
 | [tool.black] | 
 | # Uncomment if pyproject.toml worked fine to ensure consistency with flake8 | 
 | # line-length = 120 | 
 | target-version = ["py38", "py39", "py310", "py311"] | 
 |  | 
 |  | 
 | [tool.ruff] | 
 | target-version = "py38" | 
 |  | 
 | # NOTE: Synchoronize the ignores with .flake8 | 
 | ignore = [ | 
 |     # these ignores are from flake8-bugbear; please fix! | 
 |     "B007", "B008", "B017", | 
 |     "B018", # Useless expression | 
 |     "B019", | 
 |     "B023", | 
 |     "B028", # No explicit `stacklevel` keyword argument found | 
 |     "B904", | 
 |     "E402", | 
 |     "C408", # C408 ignored because we like the dict keyword argument syntax | 
 |     "E501", # E501 is not flexible enough, we're using B950 instead | 
 |     "E721", | 
 |     "E731", # Assign lambda expression | 
 |     "E741", | 
 |     "EXE001", | 
 |     "F405", | 
 |     "F821", | 
 |     "F841", | 
 |     # these ignores are from flake8-logging-format; please fix! | 
 |     "G101", "G201", "G202", | 
 |     # these ignores are from RUFF perf; please fix! | 
 |     "PERF203", "PERF4", | 
 |     # these ignores are from PYI; please fix! | 
 |     "PYI019", | 
 |     "PYI024", | 
 |     "PYI036", | 
 |     "PYI041", | 
 |     "PYI056", | 
 |     "SIM102", "SIM103", "SIM112", # flake8-simplify code styles | 
 |     "SIM105", # these ignores are from flake8-simplify. please fix or ignore with commented reason | 
 |     "SIM108", | 
 |     "SIM110", | 
 |     "SIM114", # Combine `if` branches using logical `or` operator | 
 |     "SIM115", | 
 |     "SIM116", # Disable Use a dictionary instead of consecutive `if` statements | 
 |     "SIM117", | 
 |     "SIM118", | 
 |     "UP006", # keep-runtime-typing | 
 |     "UP007", # keep-runtime-typing | 
 | ] | 
 | line-length = 120 | 
 | select = [ | 
 |     "B", | 
 |     "C4", | 
 |     "G", | 
 |     "E", | 
 |     "F", | 
 |     "SIM1", | 
 |     "W", | 
 |     # Not included in flake8 | 
 |     "UP", | 
 |     "PERF", | 
 |     "PGH004", | 
 |     "PIE794", | 
 |     "PIE800", | 
 |     "PIE807", | 
 |     "PIE810", | 
 |     "PLE", | 
 |     "PLR1722", # use sys exit | 
 |     "PLW3301", # nested min max | 
 |     "PT006", # TODO: enable more PT rules | 
 |     "PT022", | 
 |     "PT023", | 
 |     "PT024", | 
 |     "PT025", | 
 |     "PT026", | 
 |     "PYI", | 
 |     "RUF017", | 
 |     "TRY200", | 
 |     "TRY302", | 
 | ] | 
 |  | 
 | [tool.ruff.per-file-ignores] | 
 | "__init__.py" = ["F401"] | 
 | "test/jit/**" = [ | 
 |     "PYI", | 
 |     "UP", # We don't want to modify the jit test as they test specify syntax | 
 | ] | 
 | "torch/onnx/**" = [ | 
 |     "UP037", # ONNX does runtime type checking | 
 | ] | 
 |  | 
 | "torchgen/api/types/__init__.py" = [ | 
 |     "F401", | 
 |     "F403", | 
 | ] | 
 | "torchgen/executorch/api/types/__init__.py" = [ | 
 |     "F401", | 
 |     "F403", | 
 | ] | 
 | "torch/utils/collect_env.py" = [ | 
 |     "UP", # collect_env.py needs to work with older versions of Python | 
 | ] |