@@ -29,17 +29,6 @@ line-length = 130
2929# Target Python version (used for autofixes and style rules)
3030target-version = " py39"
3131
32- # Enable rule categories:
33- # E = pycodestyle (style issues, like indentation, whitespace, etc.)
34- # F = pyflakes (unused imports, undefined names)
35- # D = pydocstyle (docstring format/style issues)
36- # I = isort (import sorting)
37- # B = flake8-bugbear (common bugs & anti-patterns)
38- # UP = pyupgrade (auto-upgrade syntax for newer Python)
39- # SIM = flake8-simplify (simplifiable code patterns)
40- # RUF = Ruff-native rules (extra, performance-optimized checks)
41- select = [" E" , " F" , " D" , " I" , " B" , " UP" , " SIM" , " RUF" ]
42-
4332# Directories and files to exclude from linting and formatting
4433exclude = [
4534 " .venv*" , # virtual environments
@@ -52,8 +41,20 @@ exclude = [
5241 " *_pb2.pyi" # protobuf-generated type stubs
5342]
5443
55- # File-specific rule ignores (equivalent to flake8's `per-file-ignores`)
56- [tool .ruff .per-file-ignores ]
44+ [tool .ruff .lint ]
45+ # Enable rule categories:
46+ # E = pycodestyle (style issues, like indentation, whitespace, etc.)
47+ # F = pyflakes (unused imports, undefined names)
48+ # I = isort (import sorting)
49+ # B = flake8-bugbear (common bugs & anti-patterns)
50+ # UP = pyupgrade (auto-upgrade syntax for newer Python)
51+ # SIM = flake8-simplify (simplifiable code patterns)
52+ # RUF = Ruff-native rules (extra, performance-optimized checks)
53+ select = [" E" , " F" , " I" , " B" , " UP" , " SIM" , " RUF" ]
54+ # TODO: Add more rule categories as needed, e.g.:
55+ # D = pydocstyle (docstring format/style issues)
56+
57+ [tool .ruff .lint .per-file-ignores ]
5758"*.pyi" = [
5859 # Ignore formatting and import errors in stub files
5960 " E301" , # expected 1 blank line, found 0
@@ -62,6 +63,7 @@ exclude = [
6263 " E501" , # line too long
6364 " E701" , # multiple statements on one line
6465 " F401" , # unused import
66+ " F811" , # redefinition of unused name
6567 " F822" # undefined name in `__all__`
6668]
6769"doc/source/conf.py" = [
0 commit comments