xref: /aosp_15_r20/external/pytorch/.lintrunner.toml (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Worker[[linter]]
2*da0073e9SAndroid Build Coastguard Workercode = 'FLAKE8'
3*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**/*.py']
4*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
5*da0073e9SAndroid Build Coastguard Worker    '.git/**',
6*da0073e9SAndroid Build Coastguard Worker    'build_test_custom_build/**',
7*da0073e9SAndroid Build Coastguard Worker    'build/**',
8*da0073e9SAndroid Build Coastguard Worker    'caffe2/**',
9*da0073e9SAndroid Build Coastguard Worker    'docs/caffe2/**',
10*da0073e9SAndroid Build Coastguard Worker    'docs/cpp/src/**',
11*da0073e9SAndroid Build Coastguard Worker    'docs/src/**',
12*da0073e9SAndroid Build Coastguard Worker    'fb/**',
13*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
14*da0073e9SAndroid Build Coastguard Worker    'functorch/docs/**',
15*da0073e9SAndroid Build Coastguard Worker    'functorch/examples/**',
16*da0073e9SAndroid Build Coastguard Worker    'functorch/notebooks/**',
17*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/fx_passes/serialized_patterns/**',
18*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/autoheuristic/artifacts/**',
19*da0073e9SAndroid Build Coastguard Worker    'scripts/**',
20*da0073e9SAndroid Build Coastguard Worker    'test/generated_type_hints_smoketest.py',
21*da0073e9SAndroid Build Coastguard Worker    # Tests from the NumPy test suite
22*da0073e9SAndroid Build Coastguard Worker    'test/torch_np/numpy_test/**/*.py',
23*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
24*da0073e9SAndroid Build Coastguard Worker    'torch/include/**',
25*da0073e9SAndroid Build Coastguard Worker    'torch/lib/**',
26*da0073e9SAndroid Build Coastguard Worker    'venv/**',
27*da0073e9SAndroid Build Coastguard Worker    '**/*.pyi',
28*da0073e9SAndroid Build Coastguard Worker    'tools/test/test_selective_build.py',
29*da0073e9SAndroid Build Coastguard Worker]
30*da0073e9SAndroid Build Coastguard Workercommand = [
31*da0073e9SAndroid Build Coastguard Worker    'python3',
32*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/flake8_linter.py',
33*da0073e9SAndroid Build Coastguard Worker    '--',
34*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
35*da0073e9SAndroid Build Coastguard Worker]
36*da0073e9SAndroid Build Coastguard Workerinit_command = [
37*da0073e9SAndroid Build Coastguard Worker    'python3',
38*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
39*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
40*da0073e9SAndroid Build Coastguard Worker    'flake8==6.1.0',
41*da0073e9SAndroid Build Coastguard Worker    'flake8-bugbear==23.3.23',
42*da0073e9SAndroid Build Coastguard Worker    'flake8-comprehensions==3.15.0',
43*da0073e9SAndroid Build Coastguard Worker    'flake8-executable==2.1.3',
44*da0073e9SAndroid Build Coastguard Worker    'flake8-logging-format==0.9.0',
45*da0073e9SAndroid Build Coastguard Worker    'flake8-pyi==23.3.1',
46*da0073e9SAndroid Build Coastguard Worker    'flake8-simplify==0.19.3',
47*da0073e9SAndroid Build Coastguard Worker    'mccabe==0.7.0',
48*da0073e9SAndroid Build Coastguard Worker    'pycodestyle==2.11.1',
49*da0073e9SAndroid Build Coastguard Worker    'pyflakes==3.1.0',
50*da0073e9SAndroid Build Coastguard Worker    'torchfix==0.4.0 ; python_version >= "3.9"',
51*da0073e9SAndroid Build Coastguard Worker]
52*da0073e9SAndroid Build Coastguard Worker
53*da0073e9SAndroid Build Coastguard Worker
54*da0073e9SAndroid Build Coastguard Worker[[linter]]
55*da0073e9SAndroid Build Coastguard Workercode = 'CLANGFORMAT'
56*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
57*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/*.h',
58*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/mps/**/*.mm',
59*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/xpu/**/*.h',
60*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/xpu/**/*.cpp',
61*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/mps/**/*.mm',
62*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/**/*.h',
63*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/**/*.cpp',
64*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/cuda/MultiTensorApply.cuh',
65*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/**/Foreach*.*',
66*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/cuda/fused*.*',
67*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/cuda/Fused*.cu',
68*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/cudnn/*.h',
69*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/cudnn/*.cpp',
70*da0073e9SAndroid Build Coastguard Worker    'c10/**/*.h',
71*da0073e9SAndroid Build Coastguard Worker    'c10/**/*.cpp',
72*da0073e9SAndroid Build Coastguard Worker    'distributed/c10d/*DMAConnectivity.*',
73*da0073e9SAndroid Build Coastguard Worker    'distributed/c10d/*SymmetricMemory.*',
74*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**/*.h',
75*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**/*.hpp',
76*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**/*.cpp',
77*da0073e9SAndroid Build Coastguard Worker    'test/cpp/**/*.h',
78*da0073e9SAndroid Build Coastguard Worker    'test/cpp/**/*.cpp',
79*da0073e9SAndroid Build Coastguard Worker]
80*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
81*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
82*da0073e9SAndroid Build Coastguard Worker    'c10/util/strong_type.h',
83*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
84*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/inductor/aoti_torch/generated/**',
85*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/serialization/mobile_bytecode_generated.h',
86*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/utils/pythoncapi_compat.h',
87*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/dlpack.h',
88*da0073e9SAndroid Build Coastguard Worker]
89*da0073e9SAndroid Build Coastguard Workerinit_command = [
90*da0073e9SAndroid Build Coastguard Worker    'python3',
91*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/s3_init.py',
92*da0073e9SAndroid Build Coastguard Worker    '--config-json=tools/linter/adapters/s3_init_config.json',
93*da0073e9SAndroid Build Coastguard Worker    '--linter=clang-format',
94*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
95*da0073e9SAndroid Build Coastguard Worker    '--output-dir=.lintbin',
96*da0073e9SAndroid Build Coastguard Worker    '--output-name=clang-format',
97*da0073e9SAndroid Build Coastguard Worker]
98*da0073e9SAndroid Build Coastguard Workercommand = [
99*da0073e9SAndroid Build Coastguard Worker    'python3',
100*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/clangformat_linter.py',
101*da0073e9SAndroid Build Coastguard Worker    '--binary=.lintbin/clang-format',
102*da0073e9SAndroid Build Coastguard Worker    '--',
103*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
104*da0073e9SAndroid Build Coastguard Worker]
105*da0073e9SAndroid Build Coastguard Workeris_formatter = true
106*da0073e9SAndroid Build Coastguard Worker
107*da0073e9SAndroid Build Coastguard Worker[[linter]]
108*da0073e9SAndroid Build Coastguard Workercode = 'MYPY'
109*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
110*da0073e9SAndroid Build Coastguard Worker    'torch/**/*.py',
111*da0073e9SAndroid Build Coastguard Worker    'torch/**/*.pyi',
112*da0073e9SAndroid Build Coastguard Worker    'caffe2/**/*.py',
113*da0073e9SAndroid Build Coastguard Worker    'caffe2/**/*.pyi',
114*da0073e9SAndroid Build Coastguard Worker    'test/test_bundled_images.py',
115*da0073e9SAndroid Build Coastguard Worker    'test/test_bundled_inputs.py',
116*da0073e9SAndroid Build Coastguard Worker    'test/test_complex.py',
117*da0073e9SAndroid Build Coastguard Worker    'test/test_datapipe.py',
118*da0073e9SAndroid Build Coastguard Worker    'test/test_futures.py',
119*da0073e9SAndroid Build Coastguard Worker    # 'test/test_numpy_interop.py',
120*da0073e9SAndroid Build Coastguard Worker    'test/test_torch.py',
121*da0073e9SAndroid Build Coastguard Worker    'test/test_type_hints.py',
122*da0073e9SAndroid Build Coastguard Worker    'test/test_type_info.py',
123*da0073e9SAndroid Build Coastguard Worker    'test/test_utils.py',
124*da0073e9SAndroid Build Coastguard Worker]
125*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
126*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
127*da0073e9SAndroid Build Coastguard Worker]
128*da0073e9SAndroid Build Coastguard Workercommand = [
129*da0073e9SAndroid Build Coastguard Worker    'python3',
130*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/mypy_linter.py',
131*da0073e9SAndroid Build Coastguard Worker    '--config=mypy.ini',
132*da0073e9SAndroid Build Coastguard Worker    '--',
133*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
134*da0073e9SAndroid Build Coastguard Worker]
135*da0073e9SAndroid Build Coastguard Workerinit_command = [
136*da0073e9SAndroid Build Coastguard Worker    'python3',
137*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
138*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
139*da0073e9SAndroid Build Coastguard Worker    'numpy==1.24.3 ; python_version == "3.8"',
140*da0073e9SAndroid Build Coastguard Worker    'numpy==1.26.0 ; python_version >= "3.9"',
141*da0073e9SAndroid Build Coastguard Worker    'expecttest==0.2.1',
142*da0073e9SAndroid Build Coastguard Worker    'mypy==1.10.0',
143*da0073e9SAndroid Build Coastguard Worker    'sympy==1.12.1 ; python_version == "3.8"',
144*da0073e9SAndroid Build Coastguard Worker    'sympy==1.13.0 ; python_version >= "3.9"',
145*da0073e9SAndroid Build Coastguard Worker    'types-requests==2.27.25',
146*da0073e9SAndroid Build Coastguard Worker    'types-PyYAML==6.0.7',
147*da0073e9SAndroid Build Coastguard Worker    'types-tabulate==0.8.8',
148*da0073e9SAndroid Build Coastguard Worker    'types-protobuf==3.19.18',
149*da0073e9SAndroid Build Coastguard Worker    'types-pkg-resources==0.1.3',
150*da0073e9SAndroid Build Coastguard Worker    'types-Jinja2==2.11.9',
151*da0073e9SAndroid Build Coastguard Worker    'types-colorama==0.4.6',
152*da0073e9SAndroid Build Coastguard Worker    'filelock==3.13.1',
153*da0073e9SAndroid Build Coastguard Worker    'junitparser==2.1.1',
154*da0073e9SAndroid Build Coastguard Worker    'rich==10.9.0',
155*da0073e9SAndroid Build Coastguard Worker    'pyyaml==6.0.1',
156*da0073e9SAndroid Build Coastguard Worker    'optree==0.12.1',
157*da0073e9SAndroid Build Coastguard Worker]
158*da0073e9SAndroid Build Coastguard Worker
159*da0073e9SAndroid Build Coastguard Worker[[linter]]
160*da0073e9SAndroid Build Coastguard Workercode = 'MYPYSTRICT'
161*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
162*da0073e9SAndroid Build Coastguard Worker    '.github/**/*.py',
163*da0073e9SAndroid Build Coastguard Worker    'benchmarks/instruction_counts/**/*.py',
164*da0073e9SAndroid Build Coastguard Worker    'tools/**/*.py',
165*da0073e9SAndroid Build Coastguard Worker    'torchgen/**/*.py',
166*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_pytree.py',
167*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_cxx_pytree.py',
168*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/common.py',
169*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/timer.py',
170*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/valgrind_wrapper/**/*.py',
171*da0073e9SAndroid Build Coastguard Worker]
172*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
173*da0073e9SAndroid Build Coastguard Worker    # (linbinyu) copied from internal repo
174*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
175*da0073e9SAndroid Build Coastguard Worker    'tools/code_analyzer/gen_operators_yaml.py',
176*da0073e9SAndroid Build Coastguard Worker    'tools/dynamo/verify_dynamo.py',
177*da0073e9SAndroid Build Coastguard Worker    'tools/gen_vulkan_spv.py',
178*da0073e9SAndroid Build Coastguard Worker    'tools/test/gen_operators_yaml_test.py',
179*da0073e9SAndroid Build Coastguard Worker    'tools/test/gen_oplist_test.py',
180*da0073e9SAndroid Build Coastguard Worker    'tools/test/test_selective_build.py',
181*da0073e9SAndroid Build Coastguard Worker]
182*da0073e9SAndroid Build Coastguard Workercommand = [
183*da0073e9SAndroid Build Coastguard Worker    'python3',
184*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/mypy_linter.py',
185*da0073e9SAndroid Build Coastguard Worker    '--config=mypy-strict.ini',
186*da0073e9SAndroid Build Coastguard Worker    '--code=MYPYSTRICT',
187*da0073e9SAndroid Build Coastguard Worker    '--',
188*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
189*da0073e9SAndroid Build Coastguard Worker]
190*da0073e9SAndroid Build Coastguard Worker
191*da0073e9SAndroid Build Coastguard Worker[[linter]]
192*da0073e9SAndroid Build Coastguard Workercode = 'CLANGTIDY'
193*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
194*da0073e9SAndroid Build Coastguard Worker    # Enable coverage of headers in aten/src/ATen
195*da0073e9SAndroid Build Coastguard Worker    # and excluding most sub-directories for now.
196*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/*.h',
197*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/*.cpp',
198*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cpu/*.h',
199*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cpu/*.cpp',
200*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/core/*.h',
201*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/core/*.cpp',
202*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cudnn/*.h',
203*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cudnn/*.cpp',
204*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/detail/*',
205*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/functorch/*.h',
206*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/functorch/*.cpp',
207*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/nested/cuda/*.cpp',
208*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/nested/cuda/*.h',
209*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/nested/*.cpp',
210*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/nested/*.h',
211*da0073e9SAndroid Build Coastguard Worker    'c10/**/*.cpp',
212*da0073e9SAndroid Build Coastguard Worker    'c10/**/*.h',
213*da0073e9SAndroid Build Coastguard Worker    'torch/*.h',
214*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/*.h',
215*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/*.cpp',
216*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**/*.h',
217*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**/*.cpp',
218*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/serialization/*.h',
219*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/serialization/*.cpp',
220*da0073e9SAndroid Build Coastguard Worker]
221*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
222*da0073e9SAndroid Build Coastguard Worker    # The negative filters below are to exclude files that include onnx_pb.h or
223*da0073e9SAndroid Build Coastguard Worker    # caffe2_pb.h, otherwise we'd have to build protos as part of this CI job.
224*da0073e9SAndroid Build Coastguard Worker    # CUDA files are also excluded.
225*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
226*da0073e9SAndroid Build Coastguard Worker    '**/*pb.h',
227*da0073e9SAndroid Build Coastguard Worker    'aten/**/cuda/*pp',
228*da0073e9SAndroid Build Coastguard Worker    'c10/xpu/**/*.h',
229*da0073e9SAndroid Build Coastguard Worker    'c10/xpu/**/*.cpp',
230*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/CUDAAlgorithm.h',
231*da0073e9SAndroid Build Coastguard Worker    'c10/util/complex_math.h',
232*da0073e9SAndroid Build Coastguard Worker    'c10/util/complex_utils.h',
233*da0073e9SAndroid Build Coastguard Worker    'c10/util/flat_hash_map.h',
234*da0073e9SAndroid Build Coastguard Worker    'c10/util/logging*.h',
235*da0073e9SAndroid Build Coastguard Worker    'c10/util/hash.h',
236*da0073e9SAndroid Build Coastguard Worker    'c10/util/strong_type.h',
237*da0073e9SAndroid Build Coastguard Worker    'c10/util/SmallVector.h',
238*da0073e9SAndroid Build Coastguard Worker    'c10/util/win32-headers.h',
239*da0073e9SAndroid Build Coastguard Worker    'c10/util/*inl.h',
240*da0073e9SAndroid Build Coastguard Worker    'c10/test/**/*.h',
241*da0073e9SAndroid Build Coastguard Worker    'third_party/**/*',
242*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/api/**',
243*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/autograd/generated/**',
244*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/distributed/**/*',
245*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/dynamo/eval_frame.h',
246*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/inductor/aoti_torch/c/shim.h',
247*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/**/*',
248*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/serialization/mobile_bytecode_generated.h',
249*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/lazy/**/*',
250*da0073e9SAndroid Build Coastguard Worker]
251*da0073e9SAndroid Build Coastguard Workerinit_command = [
252*da0073e9SAndroid Build Coastguard Worker    'python3',
253*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/s3_init.py',
254*da0073e9SAndroid Build Coastguard Worker    '--config-json=tools/linter/adapters/s3_init_config.json',
255*da0073e9SAndroid Build Coastguard Worker    '--linter=clang-tidy',
256*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
257*da0073e9SAndroid Build Coastguard Worker    '--output-dir=.lintbin',
258*da0073e9SAndroid Build Coastguard Worker    '--output-name=clang-tidy',
259*da0073e9SAndroid Build Coastguard Worker]
260*da0073e9SAndroid Build Coastguard Workercommand = [
261*da0073e9SAndroid Build Coastguard Worker    'python3',
262*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/clangtidy_linter.py',
263*da0073e9SAndroid Build Coastguard Worker    '--binary=.lintbin/clang-tidy',
264*da0073e9SAndroid Build Coastguard Worker    '--build_dir=./build',
265*da0073e9SAndroid Build Coastguard Worker    '--',
266*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
267*da0073e9SAndroid Build Coastguard Worker]
268*da0073e9SAndroid Build Coastguard Worker
269*da0073e9SAndroid Build Coastguard Worker[[linter]]
270*da0073e9SAndroid Build Coastguard Workercode = 'TYPEIGNORE'
271*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**/*.py', '**/*.pyi']
272*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
273*da0073e9SAndroid Build Coastguard Worker    'fb/**',
274*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
275*da0073e9SAndroid Build Coastguard Worker    'test/test_jit.py',
276*da0073e9SAndroid Build Coastguard Worker]
277*da0073e9SAndroid Build Coastguard Workercommand = [
278*da0073e9SAndroid Build Coastguard Worker    'python3',
279*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
280*da0073e9SAndroid Build Coastguard Worker    '--pattern=# type:\s*ignore([^\[]|$)',
281*da0073e9SAndroid Build Coastguard Worker    '--linter-name=TYPEIGNORE',
282*da0073e9SAndroid Build Coastguard Worker    '--error-name=unqualified type: ignore',
283*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
284*da0073e9SAndroid Build Coastguard Worker        This line has an unqualified `type: ignore`; \
285*da0073e9SAndroid Build Coastguard Worker        please convert it to `type: ignore[xxxx]`\
286*da0073e9SAndroid Build Coastguard Worker    """,
287*da0073e9SAndroid Build Coastguard Worker    '--',
288*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
289*da0073e9SAndroid Build Coastguard Worker]
290*da0073e9SAndroid Build Coastguard Worker
291*da0073e9SAndroid Build Coastguard Worker[[linter]]
292*da0073e9SAndroid Build Coastguard Workercode = 'TYPENOSKIP'
293*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['mypy.ini']
294*da0073e9SAndroid Build Coastguard Workercommand = [
295*da0073e9SAndroid Build Coastguard Worker    'python3',
296*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
297*da0073e9SAndroid Build Coastguard Worker    '--pattern=follow_imports\s*=\s*skip',
298*da0073e9SAndroid Build Coastguard Worker    '--linter-name=TYPENOSKIP',
299*da0073e9SAndroid Build Coastguard Worker    '--error-name=use of follow_imports = skip',
300*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
301*da0073e9SAndroid Build Coastguard Worker        follow_imports = skip is forbidden from mypy.ini configuration as it \
302*da0073e9SAndroid Build Coastguard Worker        is extremely easy to accidentally turn off type checking unintentionally.  If \
303*da0073e9SAndroid Build Coastguard Worker        you need to suppress type errors, use a top level # mypy: ignore-errors.  \
304*da0073e9SAndroid Build Coastguard Worker        Do not rely on automatic Any substitution; instead, manually # type: ignore \
305*da0073e9SAndroid Build Coastguard Worker        at use sites or define a pyi type stub with more relaxed types. \
306*da0073e9SAndroid Build Coastguard Worker    """,
307*da0073e9SAndroid Build Coastguard Worker    '--',
308*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
309*da0073e9SAndroid Build Coastguard Worker]
310*da0073e9SAndroid Build Coastguard Worker
311*da0073e9SAndroid Build Coastguard Worker[[linter]]
312*da0073e9SAndroid Build Coastguard Workercode = 'NOQA'
313*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**/*.py', '**/*.pyi']
314*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
315*da0073e9SAndroid Build Coastguard Worker    'caffe2/**',
316*da0073e9SAndroid Build Coastguard Worker    'fb/**',
317*da0073e9SAndroid Build Coastguard Worker    '**/fb/**'
318*da0073e9SAndroid Build Coastguard Worker    ]
319*da0073e9SAndroid Build Coastguard Workercommand = [
320*da0073e9SAndroid Build Coastguard Worker    'python3',
321*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
322*da0073e9SAndroid Build Coastguard Worker    '--pattern=# noqa([^:]|$)',
323*da0073e9SAndroid Build Coastguard Worker    '--linter-name=NOQA',
324*da0073e9SAndroid Build Coastguard Worker    '--error-name=unqualified noqa',
325*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
326*da0073e9SAndroid Build Coastguard Worker        This line has an unqualified `noqa`; \
327*da0073e9SAndroid Build Coastguard Worker        please convert it to `noqa: XXXX`\
328*da0073e9SAndroid Build Coastguard Worker    """,
329*da0073e9SAndroid Build Coastguard Worker    '--',
330*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
331*da0073e9SAndroid Build Coastguard Worker]
332*da0073e9SAndroid Build Coastguard Worker
333*da0073e9SAndroid Build Coastguard Worker[[linter]]
334*da0073e9SAndroid Build Coastguard Workercode = 'NATIVEFUNCTIONS'
335*da0073e9SAndroid Build Coastguard Workerinclude_patterns=['aten/src/ATen/native/native_functions.yaml']
336*da0073e9SAndroid Build Coastguard Workercommand = [
337*da0073e9SAndroid Build Coastguard Worker    'python3',
338*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/nativefunctions_linter.py',
339*da0073e9SAndroid Build Coastguard Worker    '--native-functions-yml=aten/src/ATen/native/native_functions.yaml',
340*da0073e9SAndroid Build Coastguard Worker]
341*da0073e9SAndroid Build Coastguard Workerinit_command = [
342*da0073e9SAndroid Build Coastguard Worker    'python3',
343*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
344*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
345*da0073e9SAndroid Build Coastguard Worker    'ruamel.yaml==0.17.4',
346*da0073e9SAndroid Build Coastguard Worker]
347*da0073e9SAndroid Build Coastguard Workeris_formatter = true
348*da0073e9SAndroid Build Coastguard Worker
349*da0073e9SAndroid Build Coastguard Worker[[linter]]
350*da0073e9SAndroid Build Coastguard Workercode = 'NEWLINE'
351*da0073e9SAndroid Build Coastguard Workerinclude_patterns=['**']
352*da0073e9SAndroid Build Coastguard Workerexclude_patterns=[
353*da0073e9SAndroid Build Coastguard Worker    '**/contrib/**',
354*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
355*da0073e9SAndroid Build Coastguard Worker    '**/*.bat',
356*da0073e9SAndroid Build Coastguard Worker    '**/*.expect',
357*da0073e9SAndroid Build Coastguard Worker    '**/*.ipynb',
358*da0073e9SAndroid Build Coastguard Worker    '**/*.ps1',
359*da0073e9SAndroid Build Coastguard Worker    '**/*.ptl',
360*da0073e9SAndroid Build Coastguard Worker    'fb/**',
361*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
362*da0073e9SAndroid Build Coastguard Worker    'tools/clang_format_hash/**',
363*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl',
364*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl.ff',
365*da0073e9SAndroid Build Coastguard Worker    '**/*.png',
366*da0073e9SAndroid Build Coastguard Worker    '**/*.gz',
367*da0073e9SAndroid Build Coastguard Worker]
368*da0073e9SAndroid Build Coastguard Workercommand = [
369*da0073e9SAndroid Build Coastguard Worker    'python3',
370*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/newlines_linter.py',
371*da0073e9SAndroid Build Coastguard Worker    '--',
372*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
373*da0073e9SAndroid Build Coastguard Worker]
374*da0073e9SAndroid Build Coastguard Workeris_formatter = true
375*da0073e9SAndroid Build Coastguard Worker
376*da0073e9SAndroid Build Coastguard Worker[[linter]]
377*da0073e9SAndroid Build Coastguard Workercode = 'CONSTEXPR'
378*da0073e9SAndroid Build Coastguard Workerinclude_patterns=['aten/src/ATen/native/cuda/*.cu']
379*da0073e9SAndroid Build Coastguard Workercommand = [
380*da0073e9SAndroid Build Coastguard Worker    'python3',
381*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/constexpr_linter.py',
382*da0073e9SAndroid Build Coastguard Worker    '--',
383*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
384*da0073e9SAndroid Build Coastguard Worker]
385*da0073e9SAndroid Build Coastguard Workeris_formatter = true
386*da0073e9SAndroid Build Coastguard Worker
387*da0073e9SAndroid Build Coastguard Worker[[linter]]
388*da0073e9SAndroid Build Coastguard Workercode = 'SPACES'
389*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**']
390*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
391*da0073e9SAndroid Build Coastguard Worker    '**/contrib/**',
392*da0073e9SAndroid Build Coastguard Worker    '**/*.diff',
393*da0073e9SAndroid Build Coastguard Worker    '**/*.patch',
394*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
395*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
396*da0073e9SAndroid Build Coastguard Worker    'fb/**',
397*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
398*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl',
399*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl.ff',
400*da0073e9SAndroid Build Coastguard Worker]
401*da0073e9SAndroid Build Coastguard Workercommand = [
402*da0073e9SAndroid Build Coastguard Worker    'python3',
403*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
404*da0073e9SAndroid Build Coastguard Worker    '--pattern=[[:blank:]]$',
405*da0073e9SAndroid Build Coastguard Worker    '--linter-name=SPACES',
406*da0073e9SAndroid Build Coastguard Worker    '--error-name=trailing spaces',
407*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/[[:blank:]]+$//',
408*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
409*da0073e9SAndroid Build Coastguard Worker        This line has trailing spaces; please remove them.\
410*da0073e9SAndroid Build Coastguard Worker    """,
411*da0073e9SAndroid Build Coastguard Worker    '--',
412*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
413*da0073e9SAndroid Build Coastguard Worker]
414*da0073e9SAndroid Build Coastguard Worker
415*da0073e9SAndroid Build Coastguard Worker[[linter]]
416*da0073e9SAndroid Build Coastguard Workercode = 'TABS'
417*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**']
418*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
419*da0073e9SAndroid Build Coastguard Worker    '**/*.svg',
420*da0073e9SAndroid Build Coastguard Worker    '**/*Makefile',
421*da0073e9SAndroid Build Coastguard Worker    '**/contrib/**',
422*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
423*da0073e9SAndroid Build Coastguard Worker    '**/.gitattributes',
424*da0073e9SAndroid Build Coastguard Worker    '**/.gitmodules',
425*da0073e9SAndroid Build Coastguard Worker    'fb/**',
426*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
427*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
428*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl',
429*da0073e9SAndroid Build Coastguard Worker    'test/cpp/jit/upgrader_models/*.ptl.ff',
430*da0073e9SAndroid Build Coastguard Worker    '.ci/docker/common/install_rocm_drm.sh',
431*da0073e9SAndroid Build Coastguard Worker    '.lintrunner.toml',
432*da0073e9SAndroid Build Coastguard Worker]
433*da0073e9SAndroid Build Coastguard Workercommand = [
434*da0073e9SAndroid Build Coastguard Worker    'python3',
435*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
436*da0073e9SAndroid Build Coastguard Worker    # @lint-ignore TXT2
437*da0073e9SAndroid Build Coastguard Worker    '--pattern=	',
438*da0073e9SAndroid Build Coastguard Worker    '--linter-name=TABS',
439*da0073e9SAndroid Build Coastguard Worker    '--error-name=saw some tabs',
440*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/\t/    /',
441*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
442*da0073e9SAndroid Build Coastguard Worker        This line has tabs; please replace them with spaces.\
443*da0073e9SAndroid Build Coastguard Worker    """,
444*da0073e9SAndroid Build Coastguard Worker    '--',
445*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
446*da0073e9SAndroid Build Coastguard Worker]
447*da0073e9SAndroid Build Coastguard Worker
448*da0073e9SAndroid Build Coastguard Worker[[linter]]
449*da0073e9SAndroid Build Coastguard Workercode = 'INCLUDE'
450*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
451*da0073e9SAndroid Build Coastguard Worker    'c10/**',
452*da0073e9SAndroid Build Coastguard Worker    'aten/**',
453*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**',
454*da0073e9SAndroid Build Coastguard Worker]
455*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
456*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/quantized/cpu/qnnpack/**',
457*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/api/vk_mem_alloc.h',
458*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/native/vulkan/glsl/**',
459*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
460*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/serialization/mobile_bytecode_generated.h',
461*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/utils/pythoncapi_compat.h',
462*da0073e9SAndroid Build Coastguard Worker]
463*da0073e9SAndroid Build Coastguard Workercommand = [
464*da0073e9SAndroid Build Coastguard Worker    'python3',
465*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
466*da0073e9SAndroid Build Coastguard Worker    '--pattern=#include "',
467*da0073e9SAndroid Build Coastguard Worker    '--linter-name=INCLUDE',
468*da0073e9SAndroid Build Coastguard Worker    '--error-name=quoted include',
469*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/#include "(.*)"$/#include <\1>/',
470*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
471*da0073e9SAndroid Build Coastguard Worker        This #include uses quotes; please convert it to #include <xxxx>\
472*da0073e9SAndroid Build Coastguard Worker    """,
473*da0073e9SAndroid Build Coastguard Worker    '--',
474*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
475*da0073e9SAndroid Build Coastguard Worker]
476*da0073e9SAndroid Build Coastguard Worker
477*da0073e9SAndroid Build Coastguard Worker[[linter]]
478*da0073e9SAndroid Build Coastguard Workercode = 'PYBIND11_INCLUDE'
479*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
480*da0073e9SAndroid Build Coastguard Worker    '**/*.cpp',
481*da0073e9SAndroid Build Coastguard Worker    '**/*.h',
482*da0073e9SAndroid Build Coastguard Worker]
483*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
484*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/utils/pybind.h',
485*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/valgrind_wrapper/compat_bindings.cpp',
486*da0073e9SAndroid Build Coastguard Worker    'caffe2/**/*',
487*da0073e9SAndroid Build Coastguard Worker]
488*da0073e9SAndroid Build Coastguard Workercommand = [
489*da0073e9SAndroid Build Coastguard Worker    'python3',
490*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
491*da0073e9SAndroid Build Coastguard Worker    '--pattern=#include <pybind11\/',
492*da0073e9SAndroid Build Coastguard Worker    '--allowlist-pattern=#include <torch\/csrc\/utils\/pybind.h>',
493*da0073e9SAndroid Build Coastguard Worker    '--linter-name=PYBIND11_INCLUDE',
494*da0073e9SAndroid Build Coastguard Worker    '--match-first-only',
495*da0073e9SAndroid Build Coastguard Worker    '--error-name=direct include of pybind11',
496*da0073e9SAndroid Build Coastguard Worker    # https://stackoverflow.com/a/33416489/23845
497*da0073e9SAndroid Build Coastguard Worker    # NB: this won't work if the pybind11 include is on the first line;
498*da0073e9SAndroid Build Coastguard Worker    # but that's fine because it will just mean the lint will still fail
499*da0073e9SAndroid Build Coastguard Worker    # after applying the change and you will have to fix it manually
500*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=1,/(#include <pybind11\/)/ s/(#include <pybind11\/)/#include <torch\/csrc\/utils\/pybind.h>\n\1/',
501*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
502*da0073e9SAndroid Build Coastguard Worker        This #include directly includes pybind11 without also including \
503*da0073e9SAndroid Build Coastguard Worker        #include <torch/csrc/utils/pybind.h>;  this means some important \
504*da0073e9SAndroid Build Coastguard Worker        specializations may not be included.\
505*da0073e9SAndroid Build Coastguard Worker    """,
506*da0073e9SAndroid Build Coastguard Worker    '--',
507*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
508*da0073e9SAndroid Build Coastguard Worker]
509*da0073e9SAndroid Build Coastguard Worker
510*da0073e9SAndroid Build Coastguard Worker[[linter]]
511*da0073e9SAndroid Build Coastguard Workercode = 'ERROR_PRONE_ISINSTANCE'
512*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
513*da0073e9SAndroid Build Coastguard Worker    'torch/_refs/**/*.py',
514*da0073e9SAndroid Build Coastguard Worker    'torch/_prims/**/*.py',
515*da0073e9SAndroid Build Coastguard Worker    'torch/_prims_common/**/*.py',
516*da0073e9SAndroid Build Coastguard Worker    'torch/_decomp/**/*.py',
517*da0073e9SAndroid Build Coastguard Worker    'torch/_meta_registrations.py',
518*da0073e9SAndroid Build Coastguard Worker]
519*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
520*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
521*da0073e9SAndroid Build Coastguard Worker]
522*da0073e9SAndroid Build Coastguard Workercommand = [
523*da0073e9SAndroid Build Coastguard Worker    'python3',
524*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
525*da0073e9SAndroid Build Coastguard Worker    '--pattern=isinstance\([^)]+(int|float)\)',
526*da0073e9SAndroid Build Coastguard Worker    '--linter-name=ERROR_PRONE_ISINSTANCE',
527*da0073e9SAndroid Build Coastguard Worker    '--error-name=error prone isinstance',
528*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
529*da0073e9SAndroid Build Coastguard Worker        This line has an isinstance call that directly refers to \
530*da0073e9SAndroid Build Coastguard Worker        int or float.  This is error-prone because you may also \
531*da0073e9SAndroid Build Coastguard Worker        have wanted to allow SymInt or SymFloat in your test.  \
532*da0073e9SAndroid Build Coastguard Worker        To suppress this lint, use an appropriate type alias defined \
533*da0073e9SAndroid Build Coastguard Worker        in torch._prims_common; use IntLike/FloatLike when you would accept \
534*da0073e9SAndroid Build Coastguard Worker        both regular and symbolic numbers, Dim for ints representing \
535*da0073e9SAndroid Build Coastguard Worker        dimensions, or IntWithoutSymInt/FloatWithoutSymFloat if you really \
536*da0073e9SAndroid Build Coastguard Worker        meant to exclude symbolic numbers.
537*da0073e9SAndroid Build Coastguard Worker    """,
538*da0073e9SAndroid Build Coastguard Worker    '--',
539*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
540*da0073e9SAndroid Build Coastguard Worker]
541*da0073e9SAndroid Build Coastguard Worker
542*da0073e9SAndroid Build Coastguard Worker[[linter]]
543*da0073e9SAndroid Build Coastguard Workercode = 'PYBIND11_SPECIALIZATION'
544*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
545*da0073e9SAndroid Build Coastguard Worker    '**/*.cpp',
546*da0073e9SAndroid Build Coastguard Worker    '**/*.h',
547*da0073e9SAndroid Build Coastguard Worker]
548*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
549*da0073e9SAndroid Build Coastguard Worker    # The place for all orphan specializations
550*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/utils/pybind.h',
551*da0073e9SAndroid Build Coastguard Worker    # These specializations are non-orphan
552*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/distributed/c10d/init.cpp',
553*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/jit/python/pybind.h',
554*da0073e9SAndroid Build Coastguard Worker    'fb/**',
555*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
556*da0073e9SAndroid Build Coastguard Worker    # These are safe to exclude as they do not have Python
557*da0073e9SAndroid Build Coastguard Worker    'c10/**/*',
558*da0073e9SAndroid Build Coastguard Worker]
559*da0073e9SAndroid Build Coastguard Workercommand = [
560*da0073e9SAndroid Build Coastguard Worker    'python3',
561*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
562*da0073e9SAndroid Build Coastguard Worker    '--pattern=PYBIND11_DECLARE_HOLDER_TYPE',
563*da0073e9SAndroid Build Coastguard Worker    '--linter-name=PYBIND11_SPECIALIZATION',
564*da0073e9SAndroid Build Coastguard Worker    '--error-name=pybind11 specialization in non-standard location',
565*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
566*da0073e9SAndroid Build Coastguard Worker        This pybind11 specialization (PYBIND11_DECLARE_HOLDER_TYPE) should \
567*da0073e9SAndroid Build Coastguard Worker        be placed in torch/csrc/utils/pybind.h so that it is guaranteed to be \
568*da0073e9SAndroid Build Coastguard Worker        included at any site that may potentially make use of it via py::cast. \
569*da0073e9SAndroid Build Coastguard Worker        If your specialization is in the same header file as the definition \
570*da0073e9SAndroid Build Coastguard Worker        of the holder type, you can ignore this lint by adding your header to \
571*da0073e9SAndroid Build Coastguard Worker        the exclude_patterns for this lint in .lintrunner.toml.  For more \
572*da0073e9SAndroid Build Coastguard Worker        information see https://github.com/pybind/pybind11/issues/4099 \
573*da0073e9SAndroid Build Coastguard Worker    """,
574*da0073e9SAndroid Build Coastguard Worker    '--',
575*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
576*da0073e9SAndroid Build Coastguard Worker]
577*da0073e9SAndroid Build Coastguard Worker
578*da0073e9SAndroid Build Coastguard Worker[[linter]]
579*da0073e9SAndroid Build Coastguard Workercode = 'PYPIDEP'
580*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['.github/**']
581*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
582*da0073e9SAndroid Build Coastguard Worker    '**/*.rst',
583*da0073e9SAndroid Build Coastguard Worker    '**/*.py',
584*da0073e9SAndroid Build Coastguard Worker    '**/*.md',
585*da0073e9SAndroid Build Coastguard Worker    '**/*.diff',
586*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
587*da0073e9SAndroid Build Coastguard Worker]
588*da0073e9SAndroid Build Coastguard Workercommand = [
589*da0073e9SAndroid Build Coastguard Worker    'python3',
590*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
591*da0073e9SAndroid Build Coastguard Worker    """--pattern=\
592*da0073e9SAndroid Build Coastguard Worker    (pip|pip3|python -m pip|python3 -m pip|python3 -mpip|python -mpip) \
593*da0073e9SAndroid Build Coastguard Worker    install ([a-zA-Z0-9][A-Za-z0-9\\._\\-]+)([^/=<>~!]+)[A-Za-z0-9\\._\\-\\*\\+\\!]*$\
594*da0073e9SAndroid Build Coastguard Worker    """,
595*da0073e9SAndroid Build Coastguard Worker    '--linter-name=PYPIDEP',
596*da0073e9SAndroid Build Coastguard Worker    '--error-name=unpinned PyPI install',
597*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
598*da0073e9SAndroid Build Coastguard Worker        This line has unpinned PyPi installs; \
599*da0073e9SAndroid Build Coastguard Worker        please pin them to a specific version: e.g. 'thepackage==1.2'\
600*da0073e9SAndroid Build Coastguard Worker    """,
601*da0073e9SAndroid Build Coastguard Worker    '--',
602*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
603*da0073e9SAndroid Build Coastguard Worker]
604*da0073e9SAndroid Build Coastguard Worker
605*da0073e9SAndroid Build Coastguard Worker[[linter]]
606*da0073e9SAndroid Build Coastguard Workercode = 'EXEC'
607*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**']
608*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
609*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
610*da0073e9SAndroid Build Coastguard Worker    'torch/bin/**',
611*da0073e9SAndroid Build Coastguard Worker    '**/*.so',
612*da0073e9SAndroid Build Coastguard Worker    '**/*.py',
613*da0073e9SAndroid Build Coastguard Worker    '**/*.sh',
614*da0073e9SAndroid Build Coastguard Worker    '**/*.bash',
615*da0073e9SAndroid Build Coastguard Worker    '**/git-pre-commit',
616*da0073e9SAndroid Build Coastguard Worker    '**/git-clang-format',
617*da0073e9SAndroid Build Coastguard Worker    '**/gradlew',
618*da0073e9SAndroid Build Coastguard Worker    'fb/**',
619*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
620*da0073e9SAndroid Build Coastguard Worker]
621*da0073e9SAndroid Build Coastguard Workercommand = [
622*da0073e9SAndroid Build Coastguard Worker    'python3',
623*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/exec_linter.py',
624*da0073e9SAndroid Build Coastguard Worker    '--',
625*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
626*da0073e9SAndroid Build Coastguard Worker]
627*da0073e9SAndroid Build Coastguard Worker
628*da0073e9SAndroid Build Coastguard Worker[[linter]]
629*da0073e9SAndroid Build Coastguard Workercode = 'CUBINCLUDE'
630*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['aten/**']
631*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
632*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cuda/cub*.cuh',
633*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
634*da0073e9SAndroid Build Coastguard Worker]
635*da0073e9SAndroid Build Coastguard Workercommand = [
636*da0073e9SAndroid Build Coastguard Worker    'python3',
637*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
638*da0073e9SAndroid Build Coastguard Worker    '--pattern=#include <cub/',
639*da0073e9SAndroid Build Coastguard Worker    '--linter-name=CUBINCLUDE',
640*da0073e9SAndroid Build Coastguard Worker    '--error-name=direct cub include',
641*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
642*da0073e9SAndroid Build Coastguard Worker        This line has a direct cub include; please include \
643*da0073e9SAndroid Build Coastguard Worker        ATen/cuda/cub.cuh instead and wrap your cub calls in \
644*da0073e9SAndroid Build Coastguard Worker        at::native namespace if necessary.
645*da0073e9SAndroid Build Coastguard Worker    """,
646*da0073e9SAndroid Build Coastguard Worker    '--',
647*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
648*da0073e9SAndroid Build Coastguard Worker]
649*da0073e9SAndroid Build Coastguard Worker
650*da0073e9SAndroid Build Coastguard Worker[[linter]]
651*da0073e9SAndroid Build Coastguard Workercode = 'RAWCUDA'
652*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
653*da0073e9SAndroid Build Coastguard Worker    'aten/**',
654*da0073e9SAndroid Build Coastguard Worker    'c10/**',
655*da0073e9SAndroid Build Coastguard Worker]
656*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
657*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/test/**',
658*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/CUDAFunctions.h',
659*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/CUDACachingAllocator.cpp',
660*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
661*da0073e9SAndroid Build Coastguard Worker]
662*da0073e9SAndroid Build Coastguard Workercommand = [
663*da0073e9SAndroid Build Coastguard Worker    'python3',
664*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
665*da0073e9SAndroid Build Coastguard Worker    '--pattern=cudaStreamSynchronize',
666*da0073e9SAndroid Build Coastguard Worker    '--linter-name=RAWCUDA',
667*da0073e9SAndroid Build Coastguard Worker    '--error-name=raw CUDA API usage',
668*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
669*da0073e9SAndroid Build Coastguard Worker        This line calls raw CUDA APIs directly; please use at::cuda wrappers instead.
670*da0073e9SAndroid Build Coastguard Worker    """,
671*da0073e9SAndroid Build Coastguard Worker    '--',
672*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
673*da0073e9SAndroid Build Coastguard Worker]
674*da0073e9SAndroid Build Coastguard Worker
675*da0073e9SAndroid Build Coastguard Worker[[linter]]
676*da0073e9SAndroid Build Coastguard Workercode = 'RAWCUDADEVICE'
677*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
678*da0073e9SAndroid Build Coastguard Worker    'aten/**',
679*da0073e9SAndroid Build Coastguard Worker    'c10/**',
680*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**',
681*da0073e9SAndroid Build Coastguard Worker]
682*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
683*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cuda/CUDAContext.cpp',
684*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/cuda/CUDAGeneratorImpl.cpp',
685*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/test/**',
686*da0073e9SAndroid Build Coastguard Worker    'c10/core/impl/InlineDeviceGuard.h',
687*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/CUDAFunctions.cpp',
688*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/CUDAGuard.h',
689*da0073e9SAndroid Build Coastguard Worker    'c10/cuda/impl/CUDATest.cpp',
690*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/cuda/nccl.cpp',
691*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
692*da0073e9SAndroid Build Coastguard Worker]
693*da0073e9SAndroid Build Coastguard Workercommand = [
694*da0073e9SAndroid Build Coastguard Worker    'python3',
695*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
696*da0073e9SAndroid Build Coastguard Worker    '--pattern=cudaSetDevice(',
697*da0073e9SAndroid Build Coastguard Worker    '--pattern=cudaGetDevice(',
698*da0073e9SAndroid Build Coastguard Worker    '--linter-name=RAWCUDADEVICE',
699*da0073e9SAndroid Build Coastguard Worker    '--error-name=raw CUDA API usage',
700*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
701*da0073e9SAndroid Build Coastguard Worker        This line calls raw CUDA APIs directly; please use c10::cuda wrappers instead.
702*da0073e9SAndroid Build Coastguard Worker    """,
703*da0073e9SAndroid Build Coastguard Worker    '--',
704*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
705*da0073e9SAndroid Build Coastguard Worker]
706*da0073e9SAndroid Build Coastguard Worker
707*da0073e9SAndroid Build Coastguard Worker[[linter]]
708*da0073e9SAndroid Build Coastguard Workercode = 'ROOT_LOGGING'
709*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
710*da0073e9SAndroid Build Coastguard Worker    '**/*.py',
711*da0073e9SAndroid Build Coastguard Worker]
712*da0073e9SAndroid Build Coastguard Worker# These are not library code, but scripts in their own right, and so
713*da0073e9SAndroid Build Coastguard Worker# therefore are permitted to use logging
714*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
715*da0073e9SAndroid Build Coastguard Worker    'tools/**',
716*da0073e9SAndroid Build Coastguard Worker    'test/**',
717*da0073e9SAndroid Build Coastguard Worker    'benchmarks/**',
718*da0073e9SAndroid Build Coastguard Worker    'torch/distributed/run.py',
719*da0073e9SAndroid Build Coastguard Worker    'functorch/benchmarks/**',
720*da0073e9SAndroid Build Coastguard Worker    # Grandfathered in
721*da0073e9SAndroid Build Coastguard Worker    'caffe2/**',
722*da0073e9SAndroid Build Coastguard Worker    'fb/**',
723*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
724*da0073e9SAndroid Build Coastguard Worker]
725*da0073e9SAndroid Build Coastguard Workercommand = [
726*da0073e9SAndroid Build Coastguard Worker    'python3',
727*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
728*da0073e9SAndroid Build Coastguard Worker    '--pattern=logging\.(debug|info|warn|warning|error|critical|log|exception)\(',
729*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/logging\.(debug|info|warn|warning|error|critical|log|exception)\(/log.\1(/',
730*da0073e9SAndroid Build Coastguard Worker    '--linter-name=ROOT_LOGGING',
731*da0073e9SAndroid Build Coastguard Worker    '--error-name=use of root logger',
732*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
733*da0073e9SAndroid Build Coastguard Worker        Do not use root logger (logging.info, etc) directly; instead \
734*da0073e9SAndroid Build Coastguard Worker        define 'log = logging.getLogger(__name__)' and call, e.g., log.info().
735*da0073e9SAndroid Build Coastguard Worker    """,
736*da0073e9SAndroid Build Coastguard Worker    '--',
737*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
738*da0073e9SAndroid Build Coastguard Worker]
739*da0073e9SAndroid Build Coastguard Worker
740*da0073e9SAndroid Build Coastguard Worker[[linter]]
741*da0073e9SAndroid Build Coastguard Workercode = 'DEPLOY_DETECTION'
742*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
743*da0073e9SAndroid Build Coastguard Worker    '**/*.py',
744*da0073e9SAndroid Build Coastguard Worker]
745*da0073e9SAndroid Build Coastguard Workercommand = [
746*da0073e9SAndroid Build Coastguard Worker    'python3',
747*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
748*da0073e9SAndroid Build Coastguard Worker    '--pattern=sys\.executable == .torch_deploy.',
749*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/sys\.executable == .torch_deploy./torch._running_with_deploy\(\)/',
750*da0073e9SAndroid Build Coastguard Worker    '--linter-name=DEPLOY_DETECTION',
751*da0073e9SAndroid Build Coastguard Worker    '--error-name=properly detect deploy runner',
752*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
753*da0073e9SAndroid Build Coastguard Worker        Do not use sys.executable to detect if running within deploy/multipy, use torch._running_with_deploy().
754*da0073e9SAndroid Build Coastguard Worker    """,
755*da0073e9SAndroid Build Coastguard Worker    '--',
756*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
757*da0073e9SAndroid Build Coastguard Worker]
758*da0073e9SAndroid Build Coastguard Worker
759*da0073e9SAndroid Build Coastguard Worker[[linter]]
760*da0073e9SAndroid Build Coastguard Workercode = 'CMAKE'
761*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
762*da0073e9SAndroid Build Coastguard Worker    "**/*.cmake",
763*da0073e9SAndroid Build Coastguard Worker    "**/*.cmake.in",
764*da0073e9SAndroid Build Coastguard Worker    "**/CMakeLists.txt",
765*da0073e9SAndroid Build Coastguard Worker]
766*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
767*da0073e9SAndroid Build Coastguard Worker    'cmake/Modules/**',
768*da0073e9SAndroid Build Coastguard Worker    'cmake/Modules_CUDA_fix/**',
769*da0073e9SAndroid Build Coastguard Worker    'cmake/Caffe2Config.cmake.in',
770*da0073e9SAndroid Build Coastguard Worker    'aten/src/ATen/ATenConfig.cmake.in',
771*da0073e9SAndroid Build Coastguard Worker    'cmake/TorchConfig.cmake.in',
772*da0073e9SAndroid Build Coastguard Worker    'cmake/TorchConfigVersion.cmake.in',
773*da0073e9SAndroid Build Coastguard Worker    'cmake/cmake_uninstall.cmake.i',
774*da0073e9SAndroid Build Coastguard Worker    'fb/**',
775*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
776*da0073e9SAndroid Build Coastguard Worker]
777*da0073e9SAndroid Build Coastguard Workercommand = [
778*da0073e9SAndroid Build Coastguard Worker    'python3',
779*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/cmake_linter.py',
780*da0073e9SAndroid Build Coastguard Worker    '--config=.cmakelintrc',
781*da0073e9SAndroid Build Coastguard Worker    '--',
782*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
783*da0073e9SAndroid Build Coastguard Worker]
784*da0073e9SAndroid Build Coastguard Workerinit_command = [
785*da0073e9SAndroid Build Coastguard Worker    'python3',
786*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
787*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
788*da0073e9SAndroid Build Coastguard Worker    'cmakelint==1.4.1',
789*da0073e9SAndroid Build Coastguard Worker]
790*da0073e9SAndroid Build Coastguard Worker
791*da0073e9SAndroid Build Coastguard Worker[[linter]]
792*da0073e9SAndroid Build Coastguard Workercode = 'SHELLCHECK'
793*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
794*da0073e9SAndroid Build Coastguard Worker    '.ci/pytorch/**/*.sh'
795*da0073e9SAndroid Build Coastguard Worker]
796*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
797*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
798*da0073e9SAndroid Build Coastguard Worker]
799*da0073e9SAndroid Build Coastguard Workercommand = [
800*da0073e9SAndroid Build Coastguard Worker    'python3',
801*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/shellcheck_linter.py',
802*da0073e9SAndroid Build Coastguard Worker    '--',
803*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
804*da0073e9SAndroid Build Coastguard Worker]
805*da0073e9SAndroid Build Coastguard Workerinit_command = [
806*da0073e9SAndroid Build Coastguard Worker    'python3',
807*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
808*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
809*da0073e9SAndroid Build Coastguard Worker    'shellcheck-py==0.7.2.1',
810*da0073e9SAndroid Build Coastguard Worker]
811*da0073e9SAndroid Build Coastguard Worker
812*da0073e9SAndroid Build Coastguard Worker[[linter]]
813*da0073e9SAndroid Build Coastguard Workercode = 'ACTIONLINT'
814*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
815*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/*.yml',
816*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/*.yaml',
817*da0073e9SAndroid Build Coastguard Worker    # actionlint does not support composite actions yet
818*da0073e9SAndroid Build Coastguard Worker    # '.github/actions/**/*.yml',
819*da0073e9SAndroid Build Coastguard Worker    # '.github/actions/**/*.yaml',
820*da0073e9SAndroid Build Coastguard Worker]
821*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
822*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
823*da0073e9SAndroid Build Coastguard Worker]
824*da0073e9SAndroid Build Coastguard Workercommand = [
825*da0073e9SAndroid Build Coastguard Worker    'python3',
826*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/actionlint_linter.py',
827*da0073e9SAndroid Build Coastguard Worker    '--binary=.lintbin/actionlint',
828*da0073e9SAndroid Build Coastguard Worker    '--',
829*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
830*da0073e9SAndroid Build Coastguard Worker]
831*da0073e9SAndroid Build Coastguard Workerinit_command = [
832*da0073e9SAndroid Build Coastguard Worker    'python3',
833*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/s3_init.py',
834*da0073e9SAndroid Build Coastguard Worker    '--config-json=tools/linter/adapters/s3_init_config.json',
835*da0073e9SAndroid Build Coastguard Worker    '--linter=actionlint',
836*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
837*da0073e9SAndroid Build Coastguard Worker    '--output-dir=.lintbin',
838*da0073e9SAndroid Build Coastguard Worker    '--output-name=actionlint',
839*da0073e9SAndroid Build Coastguard Worker]
840*da0073e9SAndroid Build Coastguard Worker
841*da0073e9SAndroid Build Coastguard Worker[[linter]]
842*da0073e9SAndroid Build Coastguard Workercode = 'TESTOWNERS'
843*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
844*da0073e9SAndroid Build Coastguard Worker    'test/**/test_*.py',
845*da0073e9SAndroid Build Coastguard Worker    'test/**/*_test.py',
846*da0073e9SAndroid Build Coastguard Worker]
847*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
848*da0073e9SAndroid Build Coastguard Worker    'test/run_test.py',
849*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
850*da0073e9SAndroid Build Coastguard Worker]
851*da0073e9SAndroid Build Coastguard Workercommand = [
852*da0073e9SAndroid Build Coastguard Worker    'python3',
853*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/testowners_linter.py',
854*da0073e9SAndroid Build Coastguard Worker    '--',
855*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
856*da0073e9SAndroid Build Coastguard Worker]
857*da0073e9SAndroid Build Coastguard Worker
858*da0073e9SAndroid Build Coastguard Worker[[linter]]
859*da0073e9SAndroid Build Coastguard Workercode = 'TEST_HAS_MAIN'
860*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
861*da0073e9SAndroid Build Coastguard Worker    'test/**/test_*.py',
862*da0073e9SAndroid Build Coastguard Worker]
863*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
864*da0073e9SAndroid Build Coastguard Worker    'test/run_test.py',
865*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
866*da0073e9SAndroid Build Coastguard Worker    'test/quantization/**',  # should be run through test/test_quantization.py
867*da0073e9SAndroid Build Coastguard Worker    'test/jit/**',  # should be run through test/test_jit.py
868*da0073e9SAndroid Build Coastguard Worker    'test/ao/sparsity/**',  # should be run through test/test_ao_sparsity.py
869*da0073e9SAndroid Build Coastguard Worker    'test/fx/**',  # should be run through test/test_fx.py
870*da0073e9SAndroid Build Coastguard Worker    'test/bottleneck_test/**',  # excluded by test/run_test.py
871*da0073e9SAndroid Build Coastguard Worker    'test/package/**',  # excluded by test/run_test.py
872*da0073e9SAndroid Build Coastguard Worker    'test/distributed/argparse_util_test.py',
873*da0073e9SAndroid Build Coastguard Worker    'test/distributed/bin/test_script.py',
874*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/agent/server/test/local_elastic_agent_test.py',
875*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/bin/test_script.py',
876*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/bin/zombie_test.py',
877*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/errors/api_test.py',
878*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/errors/error_handler_test.py',
879*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/redirects_test.py',
880*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/multiprocessing/tail_log_test.py',
881*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/api_test.py',
882*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/c10d_rendezvous_backend_test.py',
883*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/dynamic_rendezvous_test.py',
884*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/etcd_rendezvous_backend_test.py',
885*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/etcd_rendezvous_test.py',
886*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/etcd_server_test.py',
887*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/rendezvous_backend_test.py',
888*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/static_rendezvous_test.py',
889*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/rendezvous/utils_test.py',
890*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/timer/api_test.py',
891*da0073e9SAndroid Build Coastguard Worker    'test/distributed/elastic/utils/data/cycling_iterator_test.py',
892*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/api_test.py',
893*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/bin/test_script.py',
894*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/bin/test_script_init_method.py',
895*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/bin/test_script_is_torchelastic_launched.py',
896*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/bin/test_script_local_rank.py',
897*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/launch_test.py',
898*da0073e9SAndroid Build Coastguard Worker    'test/distributed/launcher/run_test.py',
899*da0073e9SAndroid Build Coastguard Worker    'test/distributed/optim/test_apply_optimizer_in_backward.py',
900*da0073e9SAndroid Build Coastguard Worker    'test/distributed/optim/test_named_optimizer.py',
901*da0073e9SAndroid Build Coastguard Worker    'test/distributed/test_c10d_spawn.py',
902*da0073e9SAndroid Build Coastguard Worker    'test/distributed/test_collective_utils.py',
903*da0073e9SAndroid Build Coastguard Worker    'test/distributions/test_distributions.py',
904*da0073e9SAndroid Build Coastguard Worker    'test/inductor/test_aot_inductor_utils.py',
905*da0073e9SAndroid Build Coastguard Worker    'test/lazy/test_bindings.py',
906*da0073e9SAndroid Build Coastguard Worker    'test/lazy/test_extract_compiled_graph.py',
907*da0073e9SAndroid Build Coastguard Worker    'test/lazy/test_meta_kernel.py',
908*da0073e9SAndroid Build Coastguard Worker    'test/nn/test_init.py',
909*da0073e9SAndroid Build Coastguard Worker    'test/onnx/model_defs/op_test.py',
910*da0073e9SAndroid Build Coastguard Worker    'test/onnx/test_models_quantized_onnxruntime.py',
911*da0073e9SAndroid Build Coastguard Worker    'test/onnx/test_onnxscript_no_runtime.py',
912*da0073e9SAndroid Build Coastguard Worker    'test/onnx_caffe2/test_caffe2_common.py',
913*da0073e9SAndroid Build Coastguard Worker    'test/optim/test_lrscheduler.py',
914*da0073e9SAndroid Build Coastguard Worker    'test/optim/test_optim.py',
915*da0073e9SAndroid Build Coastguard Worker    'test/optim/test_swa_utils.py',
916*da0073e9SAndroid Build Coastguard Worker    'test/run_test.py',
917*da0073e9SAndroid Build Coastguard Worker    'test/test_bundled_images.py',
918*da0073e9SAndroid Build Coastguard Worker    'test/test_cuda_expandable_segments.py',
919*da0073e9SAndroid Build Coastguard Worker    'test/test_hub.py',
920*da0073e9SAndroid Build Coastguard Worker]
921*da0073e9SAndroid Build Coastguard Workercommand = [
922*da0073e9SAndroid Build Coastguard Worker    'python3',
923*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/test_has_main_linter.py',
924*da0073e9SAndroid Build Coastguard Worker    '--',
925*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}',
926*da0073e9SAndroid Build Coastguard Worker]
927*da0073e9SAndroid Build Coastguard Worker
928*da0073e9SAndroid Build Coastguard Worker[[linter]]
929*da0073e9SAndroid Build Coastguard Workercode = 'CALL_ONCE'
930*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
931*da0073e9SAndroid Build Coastguard Worker    'c10/**',
932*da0073e9SAndroid Build Coastguard Worker    'aten/**',
933*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**',
934*da0073e9SAndroid Build Coastguard Worker]
935*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
936*da0073e9SAndroid Build Coastguard Worker    'c10/util/CallOnce.h',
937*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
938*da0073e9SAndroid Build Coastguard Worker]
939*da0073e9SAndroid Build Coastguard Workercommand = [
940*da0073e9SAndroid Build Coastguard Worker    'python3',
941*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
942*da0073e9SAndroid Build Coastguard Worker    '--pattern=std::call_once',
943*da0073e9SAndroid Build Coastguard Worker    '--linter-name=CALL_ONCE',
944*da0073e9SAndroid Build Coastguard Worker    '--error-name=invalid call_once',
945*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/std::call_once/c10::call_once/',
946*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
947*da0073e9SAndroid Build Coastguard Worker        Use of std::call_once is forbidden and should be replaced with c10::call_once\
948*da0073e9SAndroid Build Coastguard Worker    """,
949*da0073e9SAndroid Build Coastguard Worker    '--',
950*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
951*da0073e9SAndroid Build Coastguard Worker]
952*da0073e9SAndroid Build Coastguard Worker
953*da0073e9SAndroid Build Coastguard Worker[[linter]]
954*da0073e9SAndroid Build Coastguard Workercode = 'CONTEXT_DECORATOR'
955*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
956*da0073e9SAndroid Build Coastguard Worker    'torch/**',
957*da0073e9SAndroid Build Coastguard Worker]
958*da0073e9SAndroid Build Coastguard Workercommand = [
959*da0073e9SAndroid Build Coastguard Worker    'python3',
960*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
961*da0073e9SAndroid Build Coastguard Worker    '--pattern=@.*(dynamo_timed|preserve_rng_state|clear_frame|with_fresh_cache_if_config|use_lazy_graph_module|_disable_current_modes)',
962*da0073e9SAndroid Build Coastguard Worker    '--linter-name=CONTEXT_DECORATOR',
963*da0073e9SAndroid Build Coastguard Worker    '--error-name=avoid context decorator',
964*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
965*da0073e9SAndroid Build Coastguard Worker        Do not use context manager as decorator as it breaks cProfile traces.  Use it as \
966*da0073e9SAndroid Build Coastguard Worker        a context manager instead\
967*da0073e9SAndroid Build Coastguard Worker    """,
968*da0073e9SAndroid Build Coastguard Worker    '--',
969*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
970*da0073e9SAndroid Build Coastguard Worker]
971*da0073e9SAndroid Build Coastguard Worker
972*da0073e9SAndroid Build Coastguard Worker[[linter]]
973*da0073e9SAndroid Build Coastguard Workercode = 'ONCE_FLAG'
974*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
975*da0073e9SAndroid Build Coastguard Worker    'c10/**',
976*da0073e9SAndroid Build Coastguard Worker    'aten/**',
977*da0073e9SAndroid Build Coastguard Worker    'torch/csrc/**',
978*da0073e9SAndroid Build Coastguard Worker]
979*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
980*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
981*da0073e9SAndroid Build Coastguard Worker]
982*da0073e9SAndroid Build Coastguard Workercommand = [
983*da0073e9SAndroid Build Coastguard Worker    'python3',
984*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
985*da0073e9SAndroid Build Coastguard Worker    '--pattern=std::once_flag',
986*da0073e9SAndroid Build Coastguard Worker    '--linter-name=ONCE_FLAG',
987*da0073e9SAndroid Build Coastguard Worker    '--error-name=invalid once_flag',
988*da0073e9SAndroid Build Coastguard Worker    '--replace-pattern=s/std::once_flag/c10::once_flag/',
989*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
990*da0073e9SAndroid Build Coastguard Worker        Use of std::once_flag is forbidden and should be replaced with c10::once_flag\
991*da0073e9SAndroid Build Coastguard Worker    """,
992*da0073e9SAndroid Build Coastguard Worker    '--',
993*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
994*da0073e9SAndroid Build Coastguard Worker]
995*da0073e9SAndroid Build Coastguard Worker
996*da0073e9SAndroid Build Coastguard Worker[[linter]]
997*da0073e9SAndroid Build Coastguard Workercode = 'WORKFLOWSYNC'
998*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
999*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/pull.yml',
1000*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/trunk.yml',
1001*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/periodic.yml',
1002*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/mac-mps.yml',
1003*da0073e9SAndroid Build Coastguard Worker    '.github/workflows/slow.yml',
1004*da0073e9SAndroid Build Coastguard Worker]
1005*da0073e9SAndroid Build Coastguard Workercommand = [
1006*da0073e9SAndroid Build Coastguard Worker    'python3',
1007*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/workflow_consistency_linter.py',
1008*da0073e9SAndroid Build Coastguard Worker    '--',
1009*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1010*da0073e9SAndroid Build Coastguard Worker]
1011*da0073e9SAndroid Build Coastguard Workerinit_command = [
1012*da0073e9SAndroid Build Coastguard Worker    'python3',
1013*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
1014*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
1015*da0073e9SAndroid Build Coastguard Worker    'PyYAML==6.0.1',
1016*da0073e9SAndroid Build Coastguard Worker]
1017*da0073e9SAndroid Build Coastguard Worker
1018*da0073e9SAndroid Build Coastguard Worker# usort + ruff-format
1019*da0073e9SAndroid Build Coastguard Worker[[linter]]
1020*da0073e9SAndroid Build Coastguard Workercode = 'PYFMT'
1021*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
1022*da0073e9SAndroid Build Coastguard Worker    '**/*.py',
1023*da0073e9SAndroid Build Coastguard Worker    '**/*.pyi',
1024*da0073e9SAndroid Build Coastguard Worker]
1025*da0073e9SAndroid Build Coastguard Workercommand = [
1026*da0073e9SAndroid Build Coastguard Worker    'python3',
1027*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pyfmt_linter.py',
1028*da0073e9SAndroid Build Coastguard Worker    '--',
1029*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1030*da0073e9SAndroid Build Coastguard Worker]
1031*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
1032*da0073e9SAndroid Build Coastguard Worker    'tools/gen_vulkan_spv.py',
1033*da0073e9SAndroid Build Coastguard Worker    # We don't care too much about files in this directory, don't enforce
1034*da0073e9SAndroid Build Coastguard Worker    # formatting on them
1035*da0073e9SAndroid Build Coastguard Worker    'caffe2/**/*.py',
1036*da0073e9SAndroid Build Coastguard Worker    'caffe2/**/*.pyi',
1037*da0073e9SAndroid Build Coastguard Worker    'fb/**',
1038*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
1039*da0073e9SAndroid Build Coastguard Worker    'third_party/**/*.py',
1040*da0073e9SAndroid Build Coastguard Worker    'third_party/**/*.pyi',
1041*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/fx_passes/serialized_patterns/**',
1042*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/autoheuristic/artifacts/**',
1043*da0073e9SAndroid Build Coastguard Worker    # These files are all grandfathered in, feel free to remove from this list
1044*da0073e9SAndroid Build Coastguard Worker    # as necessary
1045*da0073e9SAndroid Build Coastguard Worker    'test/_nvfuser/__init__.py',
1046*da0073e9SAndroid Build Coastguard Worker    'test/_nvfuser/test_dynamo.py',
1047*da0073e9SAndroid Build Coastguard Worker    'test/_nvfuser/test_python_frontend.py',
1048*da0073e9SAndroid Build Coastguard Worker    'test/_nvfuser/test_torchscript.py',
1049*da0073e9SAndroid Build Coastguard Worker    'test/delete.py',
1050*da0073e9SAndroid Build Coastguard Worker    'test/expect/__init__.py',
1051*da0073e9SAndroid Build Coastguard Worker    'test/quantization/__init__.py',
1052*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/__init__.py',
1053*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/apot_fx_graph_mode_ptq.py',
1054*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/apot_fx_graph_mode_qat.py',
1055*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/quantization_util.py',
1056*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_bits.py',
1057*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_fake_quantize.py',
1058*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_linear.py',
1059*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_nonuniform_observer.py',
1060*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_quantized_tensor.py',
1061*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/experimental/test_quantizer.py',
1062*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_backend_config.py',
1063*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_docs.py',
1064*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_quantized_functional.py',
1065*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_quantized_module.py',
1066*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_quantized_op.py',
1067*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_quantized_tensor.py',
1068*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_top_level_apis.py',
1069*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_utils.py',
1070*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_workflow_module.py',
1071*da0073e9SAndroid Build Coastguard Worker    'test/quantization/core/test_workflow_ops.py',
1072*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/__init__.py',
1073*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_bias_correction_eager.py',
1074*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_equalize_eager.py',
1075*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_fuse_eager.py',
1076*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_model_numerics.py',
1077*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_numeric_suite_eager.py',
1078*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_quantize_eager_ptq.py',
1079*da0073e9SAndroid Build Coastguard Worker    'test/quantization/eager/test_quantize_eager_qat.py',
1080*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/__init__.py',
1081*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/test_equalize_fx.py',
1082*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/test_model_report_fx.py',
1083*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/test_numeric_suite_fx.py',
1084*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/test_quantize_fx.py',
1085*da0073e9SAndroid Build Coastguard Worker    'test/quantization/fx/test_subgraph_rewriter.py',
1086*da0073e9SAndroid Build Coastguard Worker    'test/test_fake_tensor.py',
1087*da0073e9SAndroid Build Coastguard Worker    'test/test_flop_counter.py',
1088*da0073e9SAndroid Build Coastguard Worker    'test/test_function_schema.py',
1089*da0073e9SAndroid Build Coastguard Worker    'test/test_functional_autograd_benchmark.py',
1090*da0073e9SAndroid Build Coastguard Worker    'test/test_functional_optim.py',
1091*da0073e9SAndroid Build Coastguard Worker    'test/test_functionalization_of_rng_ops.py',
1092*da0073e9SAndroid Build Coastguard Worker    'test/test_datapipe.py',
1093*da0073e9SAndroid Build Coastguard Worker    'test/test_futures.py',
1094*da0073e9SAndroid Build Coastguard Worker    'test/test_fx.py',
1095*da0073e9SAndroid Build Coastguard Worker    'test/test_fx_experimental.py',
1096*da0073e9SAndroid Build Coastguard Worker    'test/test_fx_passes.py',
1097*da0073e9SAndroid Build Coastguard Worker    'test/test_fx_reinplace_pass.py',
1098*da0073e9SAndroid Build Coastguard Worker    'test/test_import_stats.py',
1099*da0073e9SAndroid Build Coastguard Worker    'test/test_itt.py',
1100*da0073e9SAndroid Build Coastguard Worker    'test/test_jit.py',
1101*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_autocast.py',
1102*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_cuda_fuser.py',
1103*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_disabled.py',
1104*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_fuser.py',
1105*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_fuser_legacy.py',
1106*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_legacy.py',
1107*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_llga_fuser.py',
1108*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_profiling.py',
1109*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_simple.py',
1110*da0073e9SAndroid Build Coastguard Worker    'test/test_jit_string.py',
1111*da0073e9SAndroid Build Coastguard Worker    'test/test_jiterator.py',
1112*da0073e9SAndroid Build Coastguard Worker    'test/test_kernel_launch_checks.py',
1113*da0073e9SAndroid Build Coastguard Worker    'test/test_linalg.py',
1114*da0073e9SAndroid Build Coastguard Worker    'test/test_masked.py',
1115*da0073e9SAndroid Build Coastguard Worker    'test/test_maskedtensor.py',
1116*da0073e9SAndroid Build Coastguard Worker    'test/test_matmul_cuda.py',
1117*da0073e9SAndroid Build Coastguard Worker    'test/test_meta.py',
1118*da0073e9SAndroid Build Coastguard Worker    'test/test_metal.py',
1119*da0073e9SAndroid Build Coastguard Worker    'test/test_mkl_verbose.py',
1120*da0073e9SAndroid Build Coastguard Worker    'test/test_mkldnn.py',
1121*da0073e9SAndroid Build Coastguard Worker    'test/test_mkldnn_fusion.py',
1122*da0073e9SAndroid Build Coastguard Worker    'test/test_mkldnn_verbose.py',
1123*da0073e9SAndroid Build Coastguard Worker    'test/test_mobile_optimizer.py',
1124*da0073e9SAndroid Build Coastguard Worker    'test/test_model_dump.py',
1125*da0073e9SAndroid Build Coastguard Worker    'test/test_modules.py',
1126*da0073e9SAndroid Build Coastguard Worker    'test/test_monitor.py',
1127*da0073e9SAndroid Build Coastguard Worker    'test/test_mps.py',
1128*da0073e9SAndroid Build Coastguard Worker    'test/test_multiprocessing_spawn.py',
1129*da0073e9SAndroid Build Coastguard Worker    'test/test_namedtensor.py',
1130*da0073e9SAndroid Build Coastguard Worker    'test/test_namedtuple_return_api.py',
1131*da0073e9SAndroid Build Coastguard Worker    'test/test_native_functions.py',
1132*da0073e9SAndroid Build Coastguard Worker    'test/test_native_mha.py',
1133*da0073e9SAndroid Build Coastguard Worker    'test/test_nn.py',
1134*da0073e9SAndroid Build Coastguard Worker    'test/test_out_dtype_op.py',
1135*da0073e9SAndroid Build Coastguard Worker    'test/test_overrides.py',
1136*da0073e9SAndroid Build Coastguard Worker    'test/test_prims.py',
1137*da0073e9SAndroid Build Coastguard Worker    'test/test_proxy_tensor.py',
1138*da0073e9SAndroid Build Coastguard Worker    'test/test_pruning_op.py',
1139*da0073e9SAndroid Build Coastguard Worker    'test/test_quantization.py',
1140*da0073e9SAndroid Build Coastguard Worker    'test/test_reductions.py',
1141*da0073e9SAndroid Build Coastguard Worker    'test/test_scatter_gather_ops.py',
1142*da0073e9SAndroid Build Coastguard Worker    'test/test_schema_check.py',
1143*da0073e9SAndroid Build Coastguard Worker    'test/test_segment_reductions.py',
1144*da0073e9SAndroid Build Coastguard Worker    'test/test_serialization.py',
1145*da0073e9SAndroid Build Coastguard Worker    'test/test_set_default_mobile_cpu_allocator.py',
1146*da0073e9SAndroid Build Coastguard Worker    'test/test_sparse.py',
1147*da0073e9SAndroid Build Coastguard Worker    'test/test_sparse_csr.py',
1148*da0073e9SAndroid Build Coastguard Worker    'test/test_sparse_semi_structured.py',
1149*da0073e9SAndroid Build Coastguard Worker    'test/test_spectral_ops.py',
1150*da0073e9SAndroid Build Coastguard Worker    'test/test_stateless.py',
1151*da0073e9SAndroid Build Coastguard Worker    'test/test_static_runtime.py',
1152*da0073e9SAndroid Build Coastguard Worker    'test/test_subclass.py',
1153*da0073e9SAndroid Build Coastguard Worker    'test/test_sympy_utils.py',
1154*da0073e9SAndroid Build Coastguard Worker    'test/test_tensor_creation_ops.py',
1155*da0073e9SAndroid Build Coastguard Worker    'test/test_tensorboard.py',
1156*da0073e9SAndroid Build Coastguard Worker    'test/test_tensorexpr.py',
1157*da0073e9SAndroid Build Coastguard Worker    'test/test_tensorexpr_pybind.py',
1158*da0073e9SAndroid Build Coastguard Worker    'test/test_testing.py',
1159*da0073e9SAndroid Build Coastguard Worker    'test/test_torch.py',
1160*da0073e9SAndroid Build Coastguard Worker    'test/test_transformers.py',
1161*da0073e9SAndroid Build Coastguard Worker    'test/test_type_promotion.py',
1162*da0073e9SAndroid Build Coastguard Worker    'test/test_unary_ufuncs.py',
1163*da0073e9SAndroid Build Coastguard Worker    'test/test_vulkan.py',
1164*da0073e9SAndroid Build Coastguard Worker    'torch/_awaits/__init__.py',
1165*da0073e9SAndroid Build Coastguard Worker    'torch/_custom_op/__init__.py',
1166*da0073e9SAndroid Build Coastguard Worker    'torch/_custom_op/autograd.py',
1167*da0073e9SAndroid Build Coastguard Worker    'torch/_custom_op/functional.py',
1168*da0073e9SAndroid Build Coastguard Worker    'torch/_custom_op/impl.py',
1169*da0073e9SAndroid Build Coastguard Worker    'torch/_export/__init__.py',
1170*da0073e9SAndroid Build Coastguard Worker    'torch/_export/constraints.py',
1171*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/__init__.py',
1172*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/case.py',
1173*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/__init__.py',
1174*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/assume_constant_result.py',
1175*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/autograd_function.py',
1176*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/class_method.py',
1177*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_branch_class_method.py',
1178*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_branch_nested_function.py',
1179*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_branch_nonlocal_variables.py',
1180*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_closed_over_variable.py',
1181*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_operands.py',
1182*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/cond_predicate.py',
1183*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/decorator.py',
1184*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dictionary.py',
1185*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_assert.py',
1186*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_constructor.py',
1187*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_if_guard.py',
1188*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_map.py',
1189*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_round.py',
1190*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_slicing.py',
1191*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/dynamic_shape_view.py',
1192*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/fn_with_kwargs.py',
1193*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/list_contains.py',
1194*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/list_unpack.py',
1195*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/nested_function.py',
1196*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/null_context_manager.py',
1197*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/pytree_flatten.py',
1198*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/scalar_output.py',
1199*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/specialized_attribute.py',
1200*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/static_for_loop.py',
1201*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/static_if.py',
1202*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/tensor_setattr.py',
1203*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/examples/type_reflection_method.py',
1204*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/gen_example.py',
1205*da0073e9SAndroid Build Coastguard Worker    'torch/_export/db/logging.py',
1206*da0073e9SAndroid Build Coastguard Worker    'torch/_export/error.py',
1207*da0073e9SAndroid Build Coastguard Worker    'torch/_export/exported_program.py',
1208*da0073e9SAndroid Build Coastguard Worker    'torch/_export/pass_base.py',
1209*da0073e9SAndroid Build Coastguard Worker    'torch/_export/pass_infra/__init__.py',
1210*da0073e9SAndroid Build Coastguard Worker    'torch/_export/pass_infra/node_metadata.py',
1211*da0073e9SAndroid Build Coastguard Worker    'torch/_export/pass_infra/proxy_value.py',
1212*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/__init__.py',
1213*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/add_runtime_assertions_for_constraints_pass.py',
1214*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/const_prop_pass.py',
1215*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/functionalize_side_effectful_ops_pass.py',
1216*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/replace_sym_size_ops_pass.py',
1217*da0073e9SAndroid Build Coastguard Worker    'torch/_export/passes/replace_view_ops_with_view_copy_ops_pass.py',
1218*da0073e9SAndroid Build Coastguard Worker    'torch/_export/serde/__init__.py',
1219*da0073e9SAndroid Build Coastguard Worker    'torch/_export/serde/schema.py',
1220*da0073e9SAndroid Build Coastguard Worker    'torch/_export/serde/serialize.py',
1221*da0073e9SAndroid Build Coastguard Worker    'torch/_export/serde/upgrade.py',
1222*da0073e9SAndroid Build Coastguard Worker    'torch/_export/trace.py',
1223*da0073e9SAndroid Build Coastguard Worker    'torch/_export/verifier.py',
1224*da0073e9SAndroid Build Coastguard Worker    'torch/_vendor/**',
1225*da0073e9SAndroid Build Coastguard Worker    'torch/contrib/__init__.py',
1226*da0073e9SAndroid Build Coastguard Worker    'torch/contrib/_tensorboard_vis.py',
1227*da0073e9SAndroid Build Coastguard Worker    "torch/cuda/_gpu_trace.py",
1228*da0073e9SAndroid Build Coastguard Worker    'torch/cuda/_memory_viz.py',  # mypy: Value of type "object" is not indexable
1229*da0073e9SAndroid Build Coastguard Worker    'torch/fft/__init__.py',
1230*da0073e9SAndroid Build Coastguard Worker    'torch/func/__init__.py',
1231*da0073e9SAndroid Build Coastguard Worker    'torch/futures/__init__.py',
1232*da0073e9SAndroid Build Coastguard Worker    'torch/fx/__init__.py',
1233*da0073e9SAndroid Build Coastguard Worker    'torch/fx/_compatibility.py',
1234*da0073e9SAndroid Build Coastguard Worker    'torch/fx/_symbolic_trace.py',
1235*da0073e9SAndroid Build Coastguard Worker    'torch/fx/annotate.py',
1236*da0073e9SAndroid Build Coastguard Worker    'torch/fx/config.py',
1237*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/__init__.py',
1238*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/accelerator_partitioner.py',
1239*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/const_fold.py',
1240*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/debug.py',
1241*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/graph_gradual_typechecker.py',
1242*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/merge_matmul.py',
1243*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/meta_tracer.py',
1244*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/__init__.py',
1245*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/constraint.py',
1246*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/constraint_generator.py',
1247*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/constraint_transformation.py',
1248*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/operation.py',
1249*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/transform_to_z3.py',
1250*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/util.py',
1251*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/migrate_gradual_types/z3_types.py',
1252*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/normalize.py',
1253*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/optimization.py',
1254*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/partitioner_utils.py',
1255*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/refinement_types.py',
1256*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/rewriter.py',
1257*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/schema_type_annotation.py',
1258*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/symbolic_shapes.py',
1259*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/__init__.py',
1260*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/core.py',
1261*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/dispatch.py',
1262*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/match.py',
1263*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/more.py',
1264*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/__init__.py',
1265*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/conflict.py',
1266*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/core.py',
1267*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/dispatcher.py',
1268*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/utils.py',
1269*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/multipledispatch/variadic.py',
1270*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/unification_tools.py',
1271*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/utils.py',
1272*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unification/variable.py',
1273*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/unify_refinements.py',
1274*da0073e9SAndroid Build Coastguard Worker    'torch/fx/experimental/validator.py',
1275*da0073e9SAndroid Build Coastguard Worker    'torch/fx/graph.py',
1276*da0073e9SAndroid Build Coastguard Worker    'torch/fx/graph_module.py',
1277*da0073e9SAndroid Build Coastguard Worker    'torch/fx/interpreter.py',
1278*da0073e9SAndroid Build Coastguard Worker    'torch/fx/node.py',
1279*da0073e9SAndroid Build Coastguard Worker    'torch/fx/operator_schemas.py',
1280*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/__init__.py',
1281*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/annotate_getitem_nodes.py',
1282*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/backends/__init__.py',
1283*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/backends/cudagraphs.py',
1284*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/dialect/__init__.py',
1285*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/dialect/common/__init__.py',
1286*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/dialect/common/cse_pass.py',
1287*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/fake_tensor_prop.py',
1288*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/graph_drawer.py',
1289*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/graph_manipulation.py',
1290*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/infra/__init__.py',
1291*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/infra/partitioner.py',
1292*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/infra/pass_base.py',
1293*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/infra/pass_manager.py',
1294*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/net_min_base.py',
1295*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/operator_support.py',
1296*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/param_fetch.py',
1297*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/pass_manager.py',
1298*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/reinplace.py',
1299*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/shape_prop.py',
1300*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/split_module.py',
1301*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/split_utils.py',
1302*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/splitter_base.py',
1303*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/tests/__init__.py',
1304*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/tests/test_pass_manager.py',
1305*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/tools_common.py',
1306*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/utils/__init__.py',
1307*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/utils/common.py',
1308*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/utils/fuser_utils.py',
1309*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/utils/matcher_utils.py',
1310*da0073e9SAndroid Build Coastguard Worker    'torch/fx/passes/utils/source_matcher_utils.py',
1311*da0073e9SAndroid Build Coastguard Worker    'torch/fx/proxy.py',
1312*da0073e9SAndroid Build Coastguard Worker    'torch/fx/subgraph_rewriter.py',
1313*da0073e9SAndroid Build Coastguard Worker    'torch/fx/tensor_type.py',
1314*da0073e9SAndroid Build Coastguard Worker    'torch/fx/traceback.py',
1315*da0073e9SAndroid Build Coastguard Worker    'torch/linalg/__init__.py',
1316*da0073e9SAndroid Build Coastguard Worker    'torch/monitor/__init__.py',
1317*da0073e9SAndroid Build Coastguard Worker    'torch/nested/__init__.py',
1318*da0073e9SAndroid Build Coastguard Worker    'torch/signal/__init__.py',
1319*da0073e9SAndroid Build Coastguard Worker    'torch/signal/windows/__init__.py',
1320*da0073e9SAndroid Build Coastguard Worker    'torch/signal/windows/windows.py',
1321*da0073e9SAndroid Build Coastguard Worker    'torch/special/__init__.py',
1322*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/__init__.py',
1323*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/autocast_test_lists.py',
1324*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/autograd_function_db.py',
1325*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/check_kernel_launches.py',
1326*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/codegen/__init__.py',
1327*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/codegen/random_topo_test.py',
1328*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_cuda.py',
1329*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_distributed.py',
1330*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_jit.py',
1331*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_methods_invocations.py',
1332*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_modules.py',
1333*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_nn.py',
1334*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_pruning.py',
1335*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_quantization.py',
1336*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_quantized.py',
1337*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_subclass.py',
1338*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/common_utils.py',
1339*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/composite_compliance.py',
1340*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/hop_db.py',
1341*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/custom_op_db.py',
1342*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/data/__init__.py',
1343*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/data/network1.py',
1344*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/data/network2.py',
1345*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/dist_utils.py',
1346*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/__init__.py',
1347*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_shard/__init__.py',
1348*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_shard/sharded_tensor/__init__.py',
1349*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_shard/sharded_tensor/_test_ops_common.py',
1350*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_shard/sharded_tensor/_test_st_common.py',
1351*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_shard/test_common.py',
1352*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_tensor/__init__.py',
1353*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/_tensor/common_dtensor.py',
1354*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/ddp_under_dist_autograd_test.py',
1355*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/distributed_test.py',
1356*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/distributed_utils.py',
1357*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/fake_pg.py',
1358*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/multi_threaded_pg.py',
1359*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/nn/__init__.py',
1360*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/nn/api/__init__.py',
1361*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/nn/api/remote_module_test.py',
1362*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/__init__.py',
1363*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/dist_autograd_test.py',
1364*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/dist_optimizer_test.py',
1365*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/examples/__init__.py',
1366*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/examples/parameter_server_test.py',
1367*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/examples/reinforcement_learning_rpc_test.py',
1368*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/faulty_agent_rpc_test.py',
1369*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/faulty_rpc_agent_test_fixture.py',
1370*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/jit/__init__.py',
1371*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/jit/dist_autograd_test.py',
1372*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/jit/rpc_test.py',
1373*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/jit/rpc_test_faulty.py',
1374*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/rpc_agent_test_fixture.py',
1375*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/rpc_test.py',
1376*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc/tensorpipe_rpc_agent_test_fixture.py',
1377*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/distributed/rpc_utils.py',
1378*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/generated/__init__.py',
1379*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/hypothesis_utils.py',
1380*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/inductor_utils.py',
1381*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/jit_metaprogramming_utils.py',
1382*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/jit_utils.py',
1383*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/logging_tensor.py',
1384*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/logging_utils.py',
1385*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/optests/__init__.py',
1386*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/optests/aot_autograd.py',
1387*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/optests/compile_check.py',
1388*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/optests/fake_tensor.py',
1389*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/optests/make_fx.py',
1390*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/quantization_torch_package_models.py',
1391*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/test_module/__init__.py',
1392*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/test_module/future_div.py',
1393*da0073e9SAndroid Build Coastguard Worker    'torch/testing/_internal/test_module/no_future_div.py',
1394*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_contextlib.py',
1395*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_cpp_extension_versioner.py',
1396*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_crash_handler.py',
1397*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_device.py',
1398*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_foreach_utils.py',
1399*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_freeze.py',
1400*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_mode_utils.py',
1401*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_python_dispatch.py',
1402*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_stats.py',
1403*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_traceback.py',
1404*da0073e9SAndroid Build Coastguard Worker    'torch/utils/_zip.py',
1405*da0073e9SAndroid Build Coastguard Worker    'torch/utils/backcompat/__init__.py',
1406*da0073e9SAndroid Build Coastguard Worker    'torch/utils/backend_registration.py',
1407*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/__init__.py',
1408*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/__init__.py',
1409*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/blas_compare.py',
1410*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/blas_compare_setup.py',
1411*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/compare.py',
1412*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/end_to_end.py',
1413*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/fuzzer.py',
1414*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/op_benchmark.py',
1415*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/simple_timeit.py',
1416*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/sparse/compare.py',
1417*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/sparse/fuzzer.py',
1418*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/sparse/op_benchmark.py',
1419*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/examples/spectral_ops_fuzz_test.py',
1420*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/__init__.py',
1421*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/binary.py',
1422*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/sparse_binary.py',
1423*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/sparse_unary.py',
1424*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/spectral.py',
1425*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/op_fuzzers/unary.py',
1426*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/__init__.py',
1427*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/_stubs.py',
1428*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/common.py',
1429*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/compare.py',
1430*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/compile.py',
1431*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/cpp_jit.py',
1432*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/fuzzer.py',
1433*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/sparse_fuzzer.py',
1434*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/timer.py',
1435*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/valgrind_wrapper/__init__.py',
1436*da0073e9SAndroid Build Coastguard Worker    'torch/utils/benchmark/utils/valgrind_wrapper/timer_interface.py',
1437*da0073e9SAndroid Build Coastguard Worker    'torch/utils/bottleneck/__init__.py',
1438*da0073e9SAndroid Build Coastguard Worker    'torch/utils/bottleneck/__main__.py',
1439*da0073e9SAndroid Build Coastguard Worker    'torch/utils/bundled_inputs.py',
1440*da0073e9SAndroid Build Coastguard Worker    'torch/utils/checkpoint.py',
1441*da0073e9SAndroid Build Coastguard Worker    'torch/utils/collect_env.py',
1442*da0073e9SAndroid Build Coastguard Worker    'torch/utils/cpp_backtrace.py',
1443*da0073e9SAndroid Build Coastguard Worker    'torch/utils/cpp_extension.py',
1444*da0073e9SAndroid Build Coastguard Worker    'torch/utils/dlpack.py',
1445*da0073e9SAndroid Build Coastguard Worker    'torch/utils/file_baton.py',
1446*da0073e9SAndroid Build Coastguard Worker    'torch/utils/flop_counter.py',
1447*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hipify/__init__.py',
1448*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hipify/constants.py',
1449*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hipify/cuda_to_hip_mappings.py',
1450*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hipify/hipify_python.py',
1451*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hipify/version.py',
1452*da0073e9SAndroid Build Coastguard Worker    'torch/utils/hooks.py',
1453*da0073e9SAndroid Build Coastguard Worker    'torch/utils/jit/__init__.py',
1454*da0073e9SAndroid Build Coastguard Worker    'torch/utils/jit/log_extract.py',
1455*da0073e9SAndroid Build Coastguard Worker    'torch/utils/mkldnn.py',
1456*da0073e9SAndroid Build Coastguard Worker    'torch/utils/mobile_optimizer.py',
1457*da0073e9SAndroid Build Coastguard Worker    'torch/utils/model_dump/__init__.py',
1458*da0073e9SAndroid Build Coastguard Worker    'torch/utils/model_dump/__main__.py',
1459*da0073e9SAndroid Build Coastguard Worker    'torch/utils/model_zoo.py',
1460*da0073e9SAndroid Build Coastguard Worker    'torch/utils/show_pickle.py',
1461*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/__init__.py',
1462*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_caffe2_graph.py',
1463*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_convert_np.py',
1464*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_embedding.py',
1465*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_onnx_graph.py',
1466*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_proto_graph.py',
1467*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_pytorch_graph.py',
1468*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/_utils.py',
1469*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/summary.py',
1470*da0073e9SAndroid Build Coastguard Worker    'torch/utils/tensorboard/writer.py',
1471*da0073e9SAndroid Build Coastguard Worker    'torch/utils/throughput_benchmark.py',
1472*da0073e9SAndroid Build Coastguard Worker    'torch/utils/viz/__init__.py',
1473*da0073e9SAndroid Build Coastguard Worker    'torch/utils/viz/_cycles.py',
1474*da0073e9SAndroid Build Coastguard Worker    'torch/utils/weak.py',
1475*da0073e9SAndroid Build Coastguard Worker    'torch/xpu/_gpu_trace.py',
1476*da0073e9SAndroid Build Coastguard Worker]
1477*da0073e9SAndroid Build Coastguard Workerinit_command = [
1478*da0073e9SAndroid Build Coastguard Worker    'python3',
1479*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
1480*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
1481*da0073e9SAndroid Build Coastguard Worker    '--no-black-binary',
1482*da0073e9SAndroid Build Coastguard Worker    'black==23.12.1',
1483*da0073e9SAndroid Build Coastguard Worker    'usort==1.0.8.post1',
1484*da0073e9SAndroid Build Coastguard Worker    'isort==5.13.2',
1485*da0073e9SAndroid Build Coastguard Worker    'ruff==0.6.3',  # sync with RUFF
1486*da0073e9SAndroid Build Coastguard Worker]
1487*da0073e9SAndroid Build Coastguard Workeris_formatter = true
1488*da0073e9SAndroid Build Coastguard Worker
1489*da0073e9SAndroid Build Coastguard Worker[[linter]]
1490*da0073e9SAndroid Build Coastguard Workercode = 'COPYRIGHT'
1491*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**']
1492*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
1493*da0073e9SAndroid Build Coastguard Worker    '.lintrunner.toml',
1494*da0073e9SAndroid Build Coastguard Worker    'fb/**',
1495*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
1496*da0073e9SAndroid Build Coastguard Worker]
1497*da0073e9SAndroid Build Coastguard Workercommand = [
1498*da0073e9SAndroid Build Coastguard Worker    'python3',
1499*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
1500*da0073e9SAndroid Build Coastguard Worker    '--pattern=Confidential and proprietary',
1501*da0073e9SAndroid Build Coastguard Worker    '--linter-name=COPYRIGHT',
1502*da0073e9SAndroid Build Coastguard Worker    '--error-name=Confidential Code',
1503*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
1504*da0073e9SAndroid Build Coastguard Worker        Proprietary and confidential source code\
1505*da0073e9SAndroid Build Coastguard Worker        should not be contributed to PyTorch codebase\
1506*da0073e9SAndroid Build Coastguard Worker    """,
1507*da0073e9SAndroid Build Coastguard Worker    '--',
1508*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1509*da0073e9SAndroid Build Coastguard Worker]
1510*da0073e9SAndroid Build Coastguard Worker
1511*da0073e9SAndroid Build Coastguard Worker[[linter]]
1512*da0073e9SAndroid Build Coastguard Workercode = 'BAZEL_LINTER'
1513*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['WORKSPACE']
1514*da0073e9SAndroid Build Coastguard Workercommand = [
1515*da0073e9SAndroid Build Coastguard Worker    'python3',
1516*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/bazel_linter.py',
1517*da0073e9SAndroid Build Coastguard Worker    '--binary=.lintbin/bazel',
1518*da0073e9SAndroid Build Coastguard Worker    '--',
1519*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1520*da0073e9SAndroid Build Coastguard Worker]
1521*da0073e9SAndroid Build Coastguard Workerinit_command = [
1522*da0073e9SAndroid Build Coastguard Worker    'python3',
1523*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/s3_init.py',
1524*da0073e9SAndroid Build Coastguard Worker    '--config-json=tools/linter/adapters/s3_init_config.json',
1525*da0073e9SAndroid Build Coastguard Worker    '--linter=bazel',
1526*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
1527*da0073e9SAndroid Build Coastguard Worker    '--output-dir=.lintbin',
1528*da0073e9SAndroid Build Coastguard Worker    '--output-name=bazel',
1529*da0073e9SAndroid Build Coastguard Worker]
1530*da0073e9SAndroid Build Coastguard Workeris_formatter = true
1531*da0073e9SAndroid Build Coastguard Worker
1532*da0073e9SAndroid Build Coastguard Worker[[linter]]
1533*da0073e9SAndroid Build Coastguard Workercode = 'LINTRUNNER_VERSION'
1534*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**']
1535*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
1536*da0073e9SAndroid Build Coastguard Worker    'fb/**',
1537*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
1538*da0073e9SAndroid Build Coastguard Worker]
1539*da0073e9SAndroid Build Coastguard Workercommand = [
1540*da0073e9SAndroid Build Coastguard Worker    'python3',
1541*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/lintrunner_version_linter.py'
1542*da0073e9SAndroid Build Coastguard Worker]
1543*da0073e9SAndroid Build Coastguard Worker
1544*da0073e9SAndroid Build Coastguard Worker[[linter]]
1545*da0073e9SAndroid Build Coastguard Workercode = 'RUFF'
1546*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['**/*.py', '**/*.pyi']
1547*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
1548*da0073e9SAndroid Build Coastguard Worker    'caffe2/**',
1549*da0073e9SAndroid Build Coastguard Worker    'functorch/docs/**',
1550*da0073e9SAndroid Build Coastguard Worker    'functorch/notebooks/**',
1551*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/fx_passes/serialized_patterns/**',
1552*da0073e9SAndroid Build Coastguard Worker    'torch/_inductor/autoheuristic/artifacts/**',
1553*da0073e9SAndroid Build Coastguard Worker    'scripts/**',
1554*da0073e9SAndroid Build Coastguard Worker    'third_party/**',
1555*da0073e9SAndroid Build Coastguard Worker    'fb/**',
1556*da0073e9SAndroid Build Coastguard Worker    '**/fb/**',
1557*da0073e9SAndroid Build Coastguard Worker]
1558*da0073e9SAndroid Build Coastguard Workercommand = [
1559*da0073e9SAndroid Build Coastguard Worker    'python3',
1560*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/ruff_linter.py',
1561*da0073e9SAndroid Build Coastguard Worker    '--config=pyproject.toml',
1562*da0073e9SAndroid Build Coastguard Worker    '--show-disable',
1563*da0073e9SAndroid Build Coastguard Worker    '--',
1564*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1565*da0073e9SAndroid Build Coastguard Worker]
1566*da0073e9SAndroid Build Coastguard Workerinit_command = [
1567*da0073e9SAndroid Build Coastguard Worker    'python3',
1568*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/pip_init.py',
1569*da0073e9SAndroid Build Coastguard Worker    '--dry-run={{DRYRUN}}',
1570*da0073e9SAndroid Build Coastguard Worker    'ruff==0.6.3',  # sync with PYFMT
1571*da0073e9SAndroid Build Coastguard Worker]
1572*da0073e9SAndroid Build Coastguard Workeris_formatter = true
1573*da0073e9SAndroid Build Coastguard Worker
1574*da0073e9SAndroid Build Coastguard Worker# This linter prevents merge conlicts in csv files in pytorch by enforcing
1575*da0073e9SAndroid Build Coastguard Worker# three lines of whitespace between entries such that unless people are modifying
1576*da0073e9SAndroid Build Coastguard Worker# the same line, merge conflicts should not arise in git or hg
1577*da0073e9SAndroid Build Coastguard Worker[[linter]]
1578*da0073e9SAndroid Build Coastguard Workercode = 'MERGE_CONFLICTLESS_CSV'
1579*da0073e9SAndroid Build Coastguard Workerinclude_patterns = ['benchmarks/dynamo/ci_expected_accuracy/*.csv']
1580*da0073e9SAndroid Build Coastguard Workercommand = [
1581*da0073e9SAndroid Build Coastguard Worker    'python3',
1582*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/no_merge_conflict_csv_linter.py',
1583*da0073e9SAndroid Build Coastguard Worker    '--',
1584*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1585*da0073e9SAndroid Build Coastguard Worker]
1586*da0073e9SAndroid Build Coastguard Workeris_formatter = true
1587*da0073e9SAndroid Build Coastguard Worker
1588*da0073e9SAndroid Build Coastguard Worker[[linter]]
1589*da0073e9SAndroid Build Coastguard Workercode = 'ATEN_CPU_GPU_AGNOSTIC'
1590*da0073e9SAndroid Build Coastguard Workerinclude_patterns = [
1591*da0073e9SAndroid Build Coastguard Worker    # aten source
1592*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/*.cpp",
1593*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/cpu/*.cpp",
1594*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/functorch/**/*.cpp",
1595*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/nnapi/*.cpp",
1596*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/quantized/*.cpp",
1597*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/vulkan/*.cpp",
1598*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/metal/*.cpp",
1599*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/detail/CPUGuardImpl.cpp",
1600*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/detail/MetaGuardImpl.cpp",
1601*da0073e9SAndroid Build Coastguard Worker    # aten native source
1602*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/cpu/*.cpp",
1603*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/cpu/kernels/*.cpp",
1604*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/quantized/cpu/kernels/*.cpp",
1605*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/cpu/kernels/*.cpp",
1606*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/*.cpp",
1607*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/cpu/**/*.cpp",
1608*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/*.cpp",
1609*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/**/*.cpp",
1610*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/quantized/*.cpp",
1611*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/quantized/**/*.cpp",
1612*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/nested/*.cpp",
1613*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/*.cpp",
1614*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/**/*.cpp",
1615*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/sparse/*.cpp",
1616*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/transformers/*.cpp",
1617*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/utils/*.cpp",
1618*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/xnnpack/*.cpp",
1619*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/metal/MetalPrepackOpRegister.cpp",
1620*da0073e9SAndroid Build Coastguard Worker    # aten headers
1621*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/*.h",
1622*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/functorch/**/*.h",
1623*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/ops/*.h",
1624*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/cpu/**/*.h",
1625*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/nnapi/*.h",
1626*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/quantized/*.h",
1627*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/vulkan/*.h",
1628*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/metal/*.h",
1629*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/mps/*.h",
1630*da0073e9SAndroid Build Coastguard Worker    # aten native headers
1631*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/*.h",
1632*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/cpu/**/*.h",
1633*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/nested/*.h",
1634*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/sparse/*.h",
1635*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/*.h",
1636*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/cpu/*.h",
1637*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/quantized/*.h",
1638*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/ao_sparse/quantized/cpu/*.h",
1639*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/*.h",
1640*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/cpu/*.h",
1641*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/transformers/*.h",
1642*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/cpu/qnnpack/include/*.h",
1643*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/utils/*.h",
1644*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/vulkan/ops/*.h",
1645*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/xnnpack/*.h",
1646*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/metal/MetalPrepackOpContext.h",
1647*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/mps/Copy.h",
1648*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/mkldnn/**/*.h",
1649*da0073e9SAndroid Build Coastguard Worker]
1650*da0073e9SAndroid Build Coastguard Workerexclude_patterns = [
1651*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/Context.h",
1652*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/Context.cpp",
1653*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/DLConvertor.cpp",
1654*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/core/Array.h",
1655*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/quantized/ConvUtils.h",
1656*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/sparse/SparseBlasImpl.cpp",  # triton implementation
1657*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/transformers/attention.cpp",
1658*da0073e9SAndroid Build Coastguard Worker    "aten/src/ATen/native/**/cudnn/**",  # cudnn is cuda specific
1659*da0073e9SAndroid Build Coastguard Worker]
1660*da0073e9SAndroid Build Coastguard Workercommand = [
1661*da0073e9SAndroid Build Coastguard Worker    'python3',
1662*da0073e9SAndroid Build Coastguard Worker    'tools/linter/adapters/grep_linter.py',
1663*da0073e9SAndroid Build Coastguard Worker    '--pattern=(^#if.*USE_ROCM.*)|(^#if.*USE_CUDA.*)',
1664*da0073e9SAndroid Build Coastguard Worker    '--linter-name=ATEN_CPU',
1665*da0073e9SAndroid Build Coastguard Worker    '--error-name=aten-cpu should be gpu agnostic',
1666*da0073e9SAndroid Build Coastguard Worker    """--error-description=\
1667*da0073e9SAndroid Build Coastguard Worker        We strongly discourage the compile-time divergence \
1668*da0073e9SAndroid Build Coastguard Worker        on ATen-CPU code for different GPU code. This \
1669*da0073e9SAndroid Build Coastguard Worker        disallows sharing the same aten-cpu shared object \
1670*da0073e9SAndroid Build Coastguard Worker        between different GPU backends \
1671*da0073e9SAndroid Build Coastguard Worker    """,
1672*da0073e9SAndroid Build Coastguard Worker    '--',
1673*da0073e9SAndroid Build Coastguard Worker    '@{{PATHSFILE}}'
1674*da0073e9SAndroid Build Coastguard Worker]
1675*da0073e9SAndroid Build Coastguard Workeris_formatter = true
1676