forked from PaddlePaddle/Paddle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
133 lines (118 loc) · 2.73 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[tool.black]
line-length = 80
skip-string-normalization = true
extend-exclude = '''
(
third_party/.+ # Exclude third_party directory
| build/.+ # Exclude build directory
)
'''
[tool.ruff]
exclude = [
"./build",
"third_party",
"./python/paddle/utils/gast/**",
]
line-length = 80
target-version = "py38"
[tool.ruff.lint]
select = [
# Pycodestyle
"E",
"W",
# Pyflakes
"F",
# Isort
"I",
# Comprehensions
"C4",
# Debugger
"T100",
# Pyupgrade
"UP",
# NumPy-specific rules
"NPY001",
"NPY003",
"NPY201",
# Bugbear
"B002",
"B003",
"B004",
"B009",
"B010",
"B011",
"B012",
"B013",
"B014",
"B015",
"B016",
"B017",
"B018",
"B019",
"B020",
"B021",
"B022",
"B025",
"B029",
"B032",
# Pylint
"PLE",
"PLC0414",
"PLC3002",
"PLR0206",
"PLR0402",
"PLR1701",
"PLR1711",
"PLR1722",
"PLW3301",
# Pygrep-hooks
"PGH004",
]
unfixable = [
"NPY001"
]
ignore = [
# Whitespace before ‘,’, ‘;’, or ‘:’, it is not compatible with black
"E203",
# Module level import not at top of file
"E402",
# Line too long (82 > 79 characters)
"E501",
# Do not compare types, use `isinstance()`
"E721",
# Do not use bare except, specify exception instead
"E722",
# Do not assign a lambda expression, use a def
"E731",
# Do not use variables named ‘l’, ‘O’, or ‘I’
"E741",
# `name` may be undefined, or defined from star imports: `module`
"F405",
# Local variable name is assigned to but never used
"F841",
# It not met the "Explicit is better than implicit" rule
"UP015",
# It will cause the performance regression on python3.10
"UP038",
]
[tool.ruff.lint.isort]
combine-as-imports = true
known-first-party = ["paddle"]
[tool.ruff.lint.per-file-ignores]
# These files need tabs for testing.
"test/dygraph_to_static/test_legacy_error.py" = ["E101", "W191"]
# Ignore compare with True in sot unittest
"test/sot/test_dup_top.py" = ["E712"]
# Ignore undefined variables in CMake config and some dygraph_to_static tests
".cmake-format.py" = ["F821"]
"test/dygraph_to_static/test_closure_analysis.py" = ["F821"]
"python/paddle/static/amp/decorator.py" = ["F821"]
# Ignore version check in setup.py
"setup.py" = ["UP036"]
# Ignore unnecessary comprehension in dy2st unittest test_loop
"test/dygraph_to_static/test_loop.py" = ["C416", "F821"]
# Ignore unnecessary lambda in dy2st unittest test_lambda
"test/dygraph_to_static/test_lambda.py" = ["PLC3002"]
# temp ignore isort
"python/paddle/distributed/__init__.py" = ["I001"]
"python/paddle/distributed/passes/__init__.py" = ["I001"]