You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# NOTE: Do not create an exclude list. Edit .lintrunner.toml instead
target-version = "py310"
line-length = 120
[tool.ruff.lint]
select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"E", # pycodestyle
"F", # Pyflakes
"FURB", # refurb
"G", # flake8-logging-format
"I", # isort
"ISC", # flake8-implicit-str-concat
"N", # pep8-naming
"NPY", # numpy
"PERF", # Perflint
"PIE", # flake8-pie
"PLC", # pylint conventions
"PLE", # pylint errors
"PLW", # pylint warnings
"PYI", # flake8-pyi
"RUF", # Ruff-specific rules
"SIM", # flake8-simplify
"SLOT", # flake8-slots
"T10", # flake8-debugger
"UP", # pyupgrade
"W", # pycodestyle
"YTT", # flake8-2020
]
# NOTE: Refrain from growing the ignore list unless for exceptional cases.
# Always include a comment to explain why.
ignore = [
"B028", # FIXME: Add stacklevel to warnings
"C408", # Sometimes it is preferable when we construct kwargs
"E501", # Line length controlled by black
"G004", # FIXME: Enable when the rule can be autofixed
"N803", # Argument casing
"N812", # Allow import torch.nn.functional as F
"N813", # Allow importing camelcase names in lowercase
"N999", # Module names
"NPY002", # np.random.Generator may not always fit our use cases
"PERF203", # "try-except-in-loop" only affects Python <3.11, and the improvement is minor; can have false positives
"PERF401", # List comprehensions are not always readable
"PYI041", # May create confusion
"PYI024", # May create confusion
"SIM102", # We don't perfer always combining if branches
"SIM103", # Do not collapse if-else
"SIM108", # We don't encourage ternary operators
"SIM114", # Don't combine if branches for debugability
"SIM116", # Don't use dict lookup to replace if-else
"UP038", # Using X | Y in isinstance checks is a little aggresive
]
[tool.ruff.lint.per-file-ignores]
# NOTE: Refrain from growing the ignore list unless for exceptional cases.
# Prefer inline ignores with `noqa: xxx`.
# Eventually this list should become empty.
"orttraining/orttraining/test/**" = ["N802"] # Function casing
"tools/nuget/generate_nuspec_for_native_nuget.py" = ["ISC003"] # Too many errors to fix
"onnxruntime/contrib_ops/cuda/sparse/sparse_attention_v1/sparse_attention_triton.py" = ["N806"] # use of Q, K and V in triton script
"onnxruntime/contrib_ops/cuda/sparse/sparse_attention_v2/sparse_attention_v2_triton.py" = ["N806"] # use of Q, K and V in triton script
"onnxruntime/python/tools/transformers/models/torch_export_patches/*" = ["F401", "PLW0211", "N801", "N806", "RUF012"] # patches are based on pytorch code
"onnxruntime/test/python/quantization/test_op_gemm.py" = ["N806"] # use of A for a matrix
"onnxruntime/test/python/quantization/op_test_utils.py" = ["N806", "PERF203", "RUF012"] # use of A for a matrix
"orttraining/orttraining/python/training/ort_triton/kernel/_flash_attn.py" = ["N806", "PLW2901", "ISC001", "E731"] # Long triton code from other repo.