1[flake8] 2# NOTE: **Mirror any changes** to this file the [tool.ruff] config in pyproject.toml 3# before we can fully move to use ruff 4enable-extensions = G 5select = B,C,E,F,G,P,SIM1,SIM911,T4,W,B9,TOR0,TOR1,TOR2,TOR9 6max-line-length = 120 7# C408 ignored because we like the dict keyword argument syntax 8# E501 is not flexible enough, we're using B950 instead 9ignore = 10 E203,E305,E402,E501,E704,E721,E741,F405,F841,F999,W503,W504,C408,E302,W291,E303, 11 # shebang has extra meaning in fbcode lints, so I think it's not worth trying 12 # to line this up with executable bit 13 EXE001, 14 # these ignores are from flake8-bugbear; please fix! 15 B007,B008,B017,B019,B023,B028,B903,B904,B905,B906,B907 16 # these ignores are from flake8-comprehensions; please fix! 17 C407, 18 # these ignores are from flake8-logging-format; please fix! 19 G100,G101,G200 20 # these ignores are from flake8-simplify. please fix or ignore with commented reason 21 SIM105,SIM108,SIM110,SIM111,SIM113,SIM114,SIM115,SIM116,SIM117,SIM118,SIM119,SIM12, 22 # flake8-simplify code styles 23 SIM102,SIM103,SIM106,SIM112, 24 # TorchFix codes that don't make sense for PyTorch itself: 25 # removed and deprecated PyTorch functions. 26 TOR001,TOR101, 27 # TODO(kit1980): fix all TOR102 issues 28 # `torch.load` without `weights_only` parameter is unsafe 29 TOR102, 30 # TODO(kit1980): resolve all TOR003 issues 31 # pass `use_reentrant` explicitly to `checkpoint`. 32 TOR003 33per-file-ignores = 34 __init__.py: F401 35 test/**: F821 36 test/**/__init__.py: F401,F821 37 torch/utils/cpp_extension.py: B950 38 torchgen/api/types/__init__.py: F401,F403 39 torchgen/executorch/api/types/__init__.py: F401,F403 40 test/dynamo/test_higher_order_ops.py: B950 41 torch/testing/_internal/dynamo_test_failures.py: B950 42 # TOR901 is only for test, we want to ignore it for everything else. 43 # It's not easy to configure this without affecting other per-file-ignores, 44 # so we explicitly list every file where it's violated outside of test. 45 torch/__init__.py: F401,TOR901 46 torch/_custom_op/impl.py: TOR901 47 torch/_export/serde/upgrade.py: TOR901 48 torch/_functorch/vmap.py: TOR901 49 torch/_inductor/test_operators.py: TOR901 50 torch/_library/abstract_impl.py: TOR901 51 torch/_meta_registrations.py: TOR901 52 torch/_prims/__init__.py: F401,TOR901 53 torch/_prims/rng_prims.py: TOR901 54 torch/ao/quantization/fx/_decomposed.py: TOR901 55 torch/distributed/_functional_collectives.py: TOR901 56 torch/distributed/_spmd/data_parallel.py: TOR901 57 torch/distributed/_tensor/_collective_utils.py: TOR901 58 # This is a full package that happen to live within the test 59 # folder, so ok to skip 60 test/cpp_extensions/open_registration_extension/pytorch_openreg/_aten_impl.py: TOR901 61optional-ascii-coding = True 62exclude = 63 ./.git, 64 ./build_test_custom_build, 65 ./build, 66 ./caffe2, 67 ./docs/caffe2, 68 ./docs/cpp/src, 69 ./docs/src, 70 ./functorch/docs, 71 ./functorch/examples, 72 ./functorch/notebooks, 73 ./scripts, 74 ./test/generated_type_hints_smoketest.py, 75 ./third_party, 76 ./torch/include, 77 ./torch/lib, 78 ./venv, 79 *.pyi 80