forked from numpy/numpy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathruff.toml
More file actions
123 lines (114 loc) · 4.32 KB
/
ruff.toml
File metadata and controls
123 lines (114 loc) · 4.32 KB
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
extend-exclude = [
"numpy/__config__.py",
"numpy/distutils",
"numpy/typing/_char_codes.py",
"numpy/typing/tests/data",
"spin/cmds.py",
# Submodules.
"doc/source/_static/scipy-mathjax",
"vendored-meson/meson",
"numpy/fft/pocketfft",
"numpy/_core/src/umath/svml",
"numpy/_core/src/npysort/x86-simd-sort",
"numpy/_core/src/highway",
"numpy/_core/src/common/pythoncapi-compat",
]
line-length = 88
[format]
line-ending = "lf"
[lint]
preview = true
extend-select = [
"B",
"C4",
"ISC",
"LOG",
"G",
"PIE",
"TID",
"FLY",
"I",
"PD",
"E",
"W",
"PGH",
"PLE",
"UP",
]
ignore = [
"B006", # Do not use mutable data structures for argument defaults
"B007", # Loop control variable not used within loop body
"B011", # Do not `assert False` (`python -O` removes these calls), raise `AssertionError()`
"B023", # Function definition does not bind loop variable
"B028", # No explicit `stacklevel` keyword argument found
"B904", # Within an `except` clause distinguish raised exceptions from errors in exception handling
"B905", #`zip()` without an explicit `strict=` parameter
"C408", # Unnecessary `dict()` call (rewrite as a literal)
"ISC002", # Implicitly concatenated string literals over multiple lines
"PIE790", # Unnecessary `pass` statement
"PD901", # Avoid using the generic variable name `df` for DataFrames
"E241", # Multiple spaces after comma
"E265", # Block comment should start with `# `
"E266", # Too many leading `#` before block comment
"E302", # TODO: Expected 2 blank lines, found 1
"E402", # Module level import not at top of file
"E712", # Avoid equality comparisons to `True` or `False`
"E721", # TODO: Use `is` and `is not` for type comparisons, or `isinstance()` for isinstance check
"E731", # Do not assign a `lambda` expression, use a `def`
"E741", # Ambiguous variable name
"F403", # `from ... import *` used; unable to detect undefined names
"F405", # may be undefined, or defined from star imports
"F821", # Undefined name
"F841", # Local variable is assigned to but never used
"UP015", # Unnecessary mode argument
"UP031", # TODO: Use format specifiers instead of percent format
]
[lint.per-file-ignores]
"_tempita.py" = ["B909"]
"bench_*.py" = ["B015", "B018"]
"test*.py" = ["B015", "B018", "E201", "E714"]
"numpy/_core/tests/test_arrayprint.py" = ["E501"]
"numpy/_core/tests/test_cpu_dispatcher.py" = ["E501"]
"numpy/_core/tests/test_cpu_features.py" = ["E501"]
"numpy/_core/tests/test_dtype.py" = ["E501"]
"numpy/_core/tests/test_defchararray.py" = ["E501"]
"numpy/_core/tests/test_einsum.py" = ["E501"]
"numpy/_core/tests/test_multiarray.py" = ["E501"]
"numpy/_core/tests/test_nditer*py" = ["E501"]
"numpy/_core/tests/test_umath.py" = ["E501"]
"numpy/_core/tests/test_numeric.py" = ["E501"]
"numpy/_core/tests/test_numerictypes.py" = ["E501"]
"numpy/_core/tests/test_regression.py" = ["E501"]
"numpy/_core/_add_newdocs.py" = ["E501"]
"numpy/_core/_add_newdocs_scalars.py" = ["E501"]
"numpy/_core/code_generators/generate_umath.py" = ["E501"]
"numpy/lib/tests/test_format.py" = ["E501"]
"numpy/linalg/tests/test_linalg.py" = ["E501"]
"numpy/f2py/*py" = ["E501"]
# for typing related files we follow https://typing.python.org/en/latest/guides/writing_stubs.html#maximum-line-length
"numpy/_typing/_array_like.py" = ["E501"]
"numpy/_typing/_dtype_like.py" = ["E501"]
"numpy*pyi" = ["E501"]
"__init__.py" = ["F401", "F403", "F405"]
"__init__.pyi" = ["F401"]
"numpy/_core/defchararray.py" = ["F403", "F405"]
"numpy/_core/multiarray.py" = ["F405"]
"numpy/_core/numeric.py" = ["F403", "F405"]
"numpy/_core/umath.py" = ["F401", "F403", "F405"]
"numpy/f2py/capi_maps.py" = ["F403", "F405"]
"numpy/f2py/crackfortran.py" = ["F403", "F405"]
"numpy/f2py/f90mod_rules.py" = ["F403", "F405"]
"numpy/ma/core.pyi" = ["F403", "F405"]
"numpy/matlib.py" = ["F405"]
"numpy/matlib.pyi" = ["F811"]
[lint.flake8-builtins]
builtins-allowed-modules = ["random", "typing"]
[lint.flake8-import-conventions.extend-aliases]
"numpy" = "np"
"numpy.typing" = "npt"
[lint.isort]
# these are treated as stdlib within .pyi stubs
extra-standard-library = ["_typeshed", "typing_extensions"]
known-first-party = ["numpy"]
combine-as-imports = true
split-on-trailing-comma = false