1*da0073e9SAndroid Build Coastguard Worker[build-system] 2*da0073e9SAndroid Build Coastguard Workerrequires = [ 3*da0073e9SAndroid Build Coastguard Worker "setuptools", 4*da0073e9SAndroid Build Coastguard Worker "wheel", 5*da0073e9SAndroid Build Coastguard Worker "astunparse", 6*da0073e9SAndroid Build Coastguard Worker "numpy", 7*da0073e9SAndroid Build Coastguard Worker "ninja", 8*da0073e9SAndroid Build Coastguard Worker "pyyaml", 9*da0073e9SAndroid Build Coastguard Worker "cmake", 10*da0073e9SAndroid Build Coastguard Worker "typing-extensions", 11*da0073e9SAndroid Build Coastguard Worker "requests", 12*da0073e9SAndroid Build Coastguard Worker] 13*da0073e9SAndroid Build Coastguard Worker# Use legacy backend to import local packages in setup.py 14*da0073e9SAndroid Build Coastguard Workerbuild-backend = "setuptools.build_meta:__legacy__" 15*da0073e9SAndroid Build Coastguard Worker 16*da0073e9SAndroid Build Coastguard Worker 17*da0073e9SAndroid Build Coastguard Worker[tool.black] 18*da0073e9SAndroid Build Coastguard Workerline-length = 88 19*da0073e9SAndroid Build Coastguard Workertarget-version = ["py38"] 20*da0073e9SAndroid Build Coastguard Worker 21*da0073e9SAndroid Build Coastguard Worker 22*da0073e9SAndroid Build Coastguard Worker[tool.isort] 23*da0073e9SAndroid Build Coastguard Workersrc_paths = ["caffe2", "torch", "torchgen", "functorch", "test"] 24*da0073e9SAndroid Build Coastguard Workerextra_standard_library = ["typing_extensions"] 25*da0073e9SAndroid Build Coastguard Workerskip_gitignore = true 26*da0073e9SAndroid Build Coastguard Workerskip_glob = ["third_party/*"] 27*da0073e9SAndroid Build Coastguard Workeratomic = true 28*da0073e9SAndroid Build Coastguard Workerprofile = "black" 29*da0073e9SAndroid Build Coastguard Workerindent = 4 30*da0073e9SAndroid Build Coastguard Workerline_length = 88 31*da0073e9SAndroid Build Coastguard Workerlines_after_imports = 2 32*da0073e9SAndroid Build Coastguard Workermulti_line_output = 3 33*da0073e9SAndroid Build Coastguard Workerinclude_trailing_comma = true 34*da0073e9SAndroid Build Coastguard Workercombine_as_imports = true 35*da0073e9SAndroid Build Coastguard Worker 36*da0073e9SAndroid Build Coastguard Worker 37*da0073e9SAndroid Build Coastguard Worker[tool.usort.known] 38*da0073e9SAndroid Build Coastguard Workerfirst_party = ["caffe2", "torch", "torchgen", "functorch", "test"] 39*da0073e9SAndroid Build Coastguard Workerstandard_library = ["typing_extensions"] 40*da0073e9SAndroid Build Coastguard Worker 41*da0073e9SAndroid Build Coastguard Worker 42*da0073e9SAndroid Build Coastguard Worker[tool.ruff] 43*da0073e9SAndroid Build Coastguard Workertarget-version = "py38" 44*da0073e9SAndroid Build Coastguard Workerline-length = 88 45*da0073e9SAndroid Build Coastguard Workersrc = ["caffe2", "torch", "torchgen", "functorch", "test"] 46*da0073e9SAndroid Build Coastguard Worker 47*da0073e9SAndroid Build Coastguard Worker[tool.ruff.format] 48*da0073e9SAndroid Build Coastguard Workerdocstring-code-format = true 49*da0073e9SAndroid Build Coastguard Workerquote-style = "double" 50*da0073e9SAndroid Build Coastguard Worker 51*da0073e9SAndroid Build Coastguard Worker[tool.ruff.lint] 52*da0073e9SAndroid Build Coastguard Worker# NOTE: Synchoronize the ignores with .flake8 53*da0073e9SAndroid Build Coastguard Workerignore = [ 54*da0073e9SAndroid Build Coastguard Worker # these ignores are from flake8-bugbear; please fix! 55*da0073e9SAndroid Build Coastguard Worker "B007", "B008", "B017", 56*da0073e9SAndroid Build Coastguard Worker "B018", # Useless expression 57*da0073e9SAndroid Build Coastguard Worker "B023", 58*da0073e9SAndroid Build Coastguard Worker "B028", # No explicit `stacklevel` keyword argument found 59*da0073e9SAndroid Build Coastguard Worker "E402", 60*da0073e9SAndroid Build Coastguard Worker "C408", # C408 ignored because we like the dict keyword argument syntax 61*da0073e9SAndroid Build Coastguard Worker "E501", # E501 is not flexible enough, we're using B950 instead 62*da0073e9SAndroid Build Coastguard Worker "E721", 63*da0073e9SAndroid Build Coastguard Worker "E731", # Assign lambda expression 64*da0073e9SAndroid Build Coastguard Worker "E741", 65*da0073e9SAndroid Build Coastguard Worker "EXE001", 66*da0073e9SAndroid Build Coastguard Worker "F405", 67*da0073e9SAndroid Build Coastguard Worker "F841", 68*da0073e9SAndroid Build Coastguard Worker # these ignores are from flake8-logging-format; please fix! 69*da0073e9SAndroid Build Coastguard Worker "G101", 70*da0073e9SAndroid Build Coastguard Worker # these ignores are from ruff NPY; please fix! 71*da0073e9SAndroid Build Coastguard Worker "NPY002", 72*da0073e9SAndroid Build Coastguard Worker # these ignores are from ruff PERF; please fix! 73*da0073e9SAndroid Build Coastguard Worker "PERF203", 74*da0073e9SAndroid Build Coastguard Worker "PERF401", 75*da0073e9SAndroid Build Coastguard Worker "PERF403", 76*da0073e9SAndroid Build Coastguard Worker # these ignores are from PYI; please fix! 77*da0073e9SAndroid Build Coastguard Worker "PYI024", 78*da0073e9SAndroid Build Coastguard Worker "PYI036", 79*da0073e9SAndroid Build Coastguard Worker "PYI041", 80*da0073e9SAndroid Build Coastguard Worker "PYI056", 81*da0073e9SAndroid Build Coastguard Worker "SIM102", "SIM103", "SIM112", # flake8-simplify code styles 82*da0073e9SAndroid Build Coastguard Worker "SIM113", # please fix 83*da0073e9SAndroid Build Coastguard Worker "SIM105", # these ignores are from flake8-simplify. please fix or ignore with commented reason 84*da0073e9SAndroid Build Coastguard Worker "SIM108", # SIM108 ignored because we prefer if-else-block instead of ternary expression 85*da0073e9SAndroid Build Coastguard Worker "SIM110", 86*da0073e9SAndroid Build Coastguard Worker "SIM114", # Combine `if` branches using logical `or` operator 87*da0073e9SAndroid Build Coastguard Worker "SIM115", 88*da0073e9SAndroid Build Coastguard Worker "SIM116", # Disable Use a dictionary instead of consecutive `if` statements 89*da0073e9SAndroid Build Coastguard Worker "SIM117", 90*da0073e9SAndroid Build Coastguard Worker "SIM118", 91*da0073e9SAndroid Build Coastguard Worker "UP006", # keep-runtime-typing 92*da0073e9SAndroid Build Coastguard Worker "UP007", # keep-runtime-typing 93*da0073e9SAndroid Build Coastguard Worker] 94*da0073e9SAndroid Build Coastguard Workerselect = [ 95*da0073e9SAndroid Build Coastguard Worker "B", 96*da0073e9SAndroid Build Coastguard Worker "B904", # Re-raised error without specifying the cause via the from keyword 97*da0073e9SAndroid Build Coastguard Worker "C4", 98*da0073e9SAndroid Build Coastguard Worker "G", 99*da0073e9SAndroid Build Coastguard Worker "E", 100*da0073e9SAndroid Build Coastguard Worker "EXE", 101*da0073e9SAndroid Build Coastguard Worker "F", 102*da0073e9SAndroid Build Coastguard Worker "SIM1", 103*da0073e9SAndroid Build Coastguard Worker "SIM911", 104*da0073e9SAndroid Build Coastguard Worker "W", 105*da0073e9SAndroid Build Coastguard Worker # Not included in flake8 106*da0073e9SAndroid Build Coastguard Worker "FURB", 107*da0073e9SAndroid Build Coastguard Worker "LOG", 108*da0073e9SAndroid Build Coastguard Worker "NPY", 109*da0073e9SAndroid Build Coastguard Worker "PERF", 110*da0073e9SAndroid Build Coastguard Worker "PGH004", 111*da0073e9SAndroid Build Coastguard Worker "PIE790", 112*da0073e9SAndroid Build Coastguard Worker "PIE794", 113*da0073e9SAndroid Build Coastguard Worker "PIE800", 114*da0073e9SAndroid Build Coastguard Worker "PIE804", 115*da0073e9SAndroid Build Coastguard Worker "PIE807", 116*da0073e9SAndroid Build Coastguard Worker "PIE810", 117*da0073e9SAndroid Build Coastguard Worker "PLC0131", # type bivariance 118*da0073e9SAndroid Build Coastguard Worker "PLC0132", # type param mismatch 119*da0073e9SAndroid Build Coastguard Worker "PLC0205", # string as __slots__ 120*da0073e9SAndroid Build Coastguard Worker "PLC3002", # unnecessary-direct-lambda-call 121*da0073e9SAndroid Build Coastguard Worker "PLE", 122*da0073e9SAndroid Build Coastguard Worker "PLR0133", # constant comparison 123*da0073e9SAndroid Build Coastguard Worker "PLR0206", # property with params 124*da0073e9SAndroid Build Coastguard Worker "PLR1722", # use sys exit 125*da0073e9SAndroid Build Coastguard Worker "PLR1736", # unnecessary list index 126*da0073e9SAndroid Build Coastguard Worker "PLW0129", # assert on string literal 127*da0073e9SAndroid Build Coastguard Worker "PLW0133", # useless exception statement 128*da0073e9SAndroid Build Coastguard Worker "PLW0406", # import self 129*da0073e9SAndroid Build Coastguard Worker "PLW0711", # binary op exception 130*da0073e9SAndroid Build Coastguard Worker "PLW1509", # preexec_fn not safe with threads 131*da0073e9SAndroid Build Coastguard Worker "PLW2101", # useless lock statement 132*da0073e9SAndroid Build Coastguard Worker "PLW3301", # nested min max 133*da0073e9SAndroid Build Coastguard Worker "PT006", # TODO: enable more PT rules 134*da0073e9SAndroid Build Coastguard Worker "PT022", 135*da0073e9SAndroid Build Coastguard Worker "PT023", 136*da0073e9SAndroid Build Coastguard Worker "PT024", 137*da0073e9SAndroid Build Coastguard Worker "PT025", 138*da0073e9SAndroid Build Coastguard Worker "PT026", 139*da0073e9SAndroid Build Coastguard Worker "PYI", 140*da0073e9SAndroid Build Coastguard Worker "Q003", # avoidable escaped quote 141*da0073e9SAndroid Build Coastguard Worker "Q004", # unnecessary escaped quote 142*da0073e9SAndroid Build Coastguard Worker "RSE", 143*da0073e9SAndroid Build Coastguard Worker "RUF008", # mutable dataclass default 144*da0073e9SAndroid Build Coastguard Worker "RUF015", # access first ele in constant time 145*da0073e9SAndroid Build Coastguard Worker "RUF016", # type error non-integer index 146*da0073e9SAndroid Build Coastguard Worker "RUF017", 147*da0073e9SAndroid Build Coastguard Worker "RUF018", # no assignment in assert 148*da0073e9SAndroid Build Coastguard Worker "RUF019", # unnecessary-key-check 149*da0073e9SAndroid Build Coastguard Worker "RUF024", # from keys mutable 150*da0073e9SAndroid Build Coastguard Worker "RUF026", # default factory kwarg 151*da0073e9SAndroid Build Coastguard Worker "TCH", 152*da0073e9SAndroid Build Coastguard Worker "TRY002", # ban vanilla raise (todo fix NOQAs) 153*da0073e9SAndroid Build Coastguard Worker "TRY302", 154*da0073e9SAndroid Build Coastguard Worker "TRY401", # verbose-log-message 155*da0073e9SAndroid Build Coastguard Worker "UP", 156*da0073e9SAndroid Build Coastguard Worker] 157*da0073e9SAndroid Build Coastguard Worker 158*da0073e9SAndroid Build Coastguard Worker[tool.ruff.lint.per-file-ignores] 159*da0073e9SAndroid Build Coastguard Worker"__init__.py" = [ 160*da0073e9SAndroid Build Coastguard Worker "F401", 161*da0073e9SAndroid Build Coastguard Worker] 162*da0073e9SAndroid Build Coastguard Worker"functorch/notebooks/**" = [ 163*da0073e9SAndroid Build Coastguard Worker "F401", 164*da0073e9SAndroid Build Coastguard Worker] 165*da0073e9SAndroid Build Coastguard Worker"test/typing/reveal/**" = [ 166*da0073e9SAndroid Build Coastguard Worker "F821", 167*da0073e9SAndroid Build Coastguard Worker] 168*da0073e9SAndroid Build Coastguard Worker"test/torch_np/numpy_tests/**" = [ 169*da0073e9SAndroid Build Coastguard Worker "F821", 170*da0073e9SAndroid Build Coastguard Worker "NPY201", 171*da0073e9SAndroid Build Coastguard Worker] 172*da0073e9SAndroid Build Coastguard Worker"test/dynamo/test_bytecode_utils.py" = [ 173*da0073e9SAndroid Build Coastguard Worker "F821", 174*da0073e9SAndroid Build Coastguard Worker] 175*da0073e9SAndroid Build Coastguard Worker"test/dynamo/test_debug_utils.py" = [ 176*da0073e9SAndroid Build Coastguard Worker "UP037", 177*da0073e9SAndroid Build Coastguard Worker] 178*da0073e9SAndroid Build Coastguard Worker"test/jit/**" = [ 179*da0073e9SAndroid Build Coastguard Worker "PLR0133", # tests require this for JIT 180*da0073e9SAndroid Build Coastguard Worker "PYI", 181*da0073e9SAndroid Build Coastguard Worker "RUF015", 182*da0073e9SAndroid Build Coastguard Worker "UP", # We don't want to modify the jit test as they test specify syntax 183*da0073e9SAndroid Build Coastguard Worker] 184*da0073e9SAndroid Build Coastguard Worker"test/test_jit.py" = [ 185*da0073e9SAndroid Build Coastguard Worker "PLR0133", # tests require this for JIT 186*da0073e9SAndroid Build Coastguard Worker "PYI", 187*da0073e9SAndroid Build Coastguard Worker "RUF015", 188*da0073e9SAndroid Build Coastguard Worker "UP", # We don't want to modify the jit test as they test specify syntax 189*da0073e9SAndroid Build Coastguard Worker] 190*da0073e9SAndroid Build Coastguard Worker"test/inductor/test_torchinductor.py" = [ 191*da0073e9SAndroid Build Coastguard Worker "UP037", 192*da0073e9SAndroid Build Coastguard Worker] 193*da0073e9SAndroid Build Coastguard Worker# autogenerated #TODO figure out why file level noqa is ignored 194*da0073e9SAndroid Build Coastguard Worker"torch/_inductor/fx_passes/serialized_patterns/**" = ["F401", "F501"] 195*da0073e9SAndroid Build Coastguard Worker"torch/_inductor/autoheuristic/artifacts/**" = ["F401", "F501"] 196*da0073e9SAndroid Build Coastguard Worker"torchgen/api/types/__init__.py" = [ 197*da0073e9SAndroid Build Coastguard Worker "F401", 198*da0073e9SAndroid Build Coastguard Worker "F403", 199*da0073e9SAndroid Build Coastguard Worker] 200*da0073e9SAndroid Build Coastguard Worker"torchgen/executorch/api/types/__init__.py" = [ 201*da0073e9SAndroid Build Coastguard Worker "F401", 202*da0073e9SAndroid Build Coastguard Worker "F403", 203*da0073e9SAndroid Build Coastguard Worker] 204*da0073e9SAndroid Build Coastguard Worker"torch/utils/collect_env.py" = [ 205*da0073e9SAndroid Build Coastguard Worker "UP", # collect_env.py needs to work with older versions of Python 206*da0073e9SAndroid Build Coastguard Worker] 207*da0073e9SAndroid Build Coastguard Worker"torch/_vendor/**" = [ 208*da0073e9SAndroid Build Coastguard Worker "UP", # No need to mess with _vendor 209*da0073e9SAndroid Build Coastguard Worker] 210