# Configuration for lintrunner https://github.com/suo/lintrunner # You can install the dependencies and initialize with # # ```sh # pip install lintrunner lintrunner-adapters # lintrunner init # ``` # # This will install lintrunner on your system and download all the necessary # dependencies to run linters locally. # If you want to see what lintrunner init will install, run # `lintrunner init --dry-run`. # # To lint local changes: # # ```bash # lintrunner # ``` # # To lint all files: # # ```bash # lintrunner --all-files # ``` # # To format files: # # ```bash # lintrunner -a # ``` # # To read more about lintrunner, see [wiki](https://github.com/pytorch/pytorch/wiki/lintrunner). # To update an existing linting rule or create a new one, modify this file or create a # new adapter following examples in https://github.com/justinchuby/lintrunner-adapters. merge_base_with = 'main' [[linter]] code = 'RUFF' include_patterns = [ '**/*.py', '**/*.pyi', ] exclude_patterns = [ '*_pb2*', '.setuptools-cmake-build/*', 'docs/**', ] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'ruff_linter', '--config=pyproject.toml', '@{{PATHSFILE}}' ] init_command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'pip_init', '--dry-run={{DRYRUN}}', '--requirement=requirements-lintrunner.txt', ] is_formatter = true [[linter]] code = 'MYPY' include_patterns = [ 'onnx/**/*.py', 'tools/**/*.py', ] exclude_patterns = [ 'onnx/backend/test/**', 'onnx/reference/ops/**', # FIXME: Enable this once typing is fixed 'onnx/test/parser_test.py', 'onnx/test/numpy_helper_test.py', 'onnx/reference/reference_evaluator.py', ] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'mypy_linter', '--config=pyproject.toml', '--show-disable', '--', '@{{PATHSFILE}}' ] init_command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'pip_init', '--dry-run={{DRYRUN}}', '--requirement=requirements-lintrunner.txt', ] [[linter]] code = 'RUFF-FORMAT' include_patterns = [ '**/*.py', ] exclude_patterns = [ '*_pb2*', '.setuptools-cmake-build/*', 'cmake/**', 'docs/**', ] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'ruff_format_linter', '--', '@{{PATHSFILE}}' ] init_command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'pip_init', '--dry-run={{DRYRUN}}', '--requirement=requirements-lintrunner.txt', ] is_formatter = true [[linter]] code = 'NAMESPACE' include_patterns = ['**/*.cc', '**/*.h'] exclude_patterns = ['third_party/**'] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'grep_linter', '--pattern=namespace onnx|onnx::', '--linter-name=NAMESPACE', '--error-name=hardcoded onnx namespace', """--error-description=\ Do not hardcode onnx's namespace in the c++ source code, so that \ other libraries that statically link with onnx can hide onnx symbols \ in a private namespace.\ """, '--', '@{{PATHSFILE}}' ] [[linter]] code = 'CLANGFORMAT' include_patterns = [ 'onnx/**/*.h', 'onnx/**/*.cc', ] exclude_patterns = [ ] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'clangformat_linter', '--binary=clang-format', '--fallback', '--', '@{{PATHSFILE}}' ] init_command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'pip_init', '--dry-run={{DRYRUN}}', '--requirement=requirements-lintrunner.txt', ] is_formatter = true [[linter]] code = 'EDITORCONFIG-CHECKER' include_patterns=[ '**/*.py', '**/*.pyi', '**/*.cc', '**/*.h', '**/*.md', '**/*.cpp', ] exclude_patterns = [ '*_pb2*', '.setuptools-cmake-build/*', 'cmake/**', 'docs/**', 'community/sc-election-guidelines.md', ] command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'editorconfig_checker_linter', '--', '@{{PATHSFILE}}' ] init_command = [ 'python', '-m', 'lintrunner_adapters', 'run', 'pip_init', '--dry-run={{DRYRUN}}', '--requirement=requirements-lintrunner.txt', ]