-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
.ruff.toml
87 lines (84 loc) · 1.63 KB
/
.ruff.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
target-version = "py310"
line-length = 120
exclude = [
"drms/version.py",
".git,",
"__pycache__",
"__pypackages__",
"_build",
".bzr",
".direnv",
".eggs",
".git-rewrite",
".git",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"buck-out",
"build",
"dist",
"node_modules",
"paper/create_joss_figure.py",
"tools/**",
"venv",
]
[lint]
select = [
"E",
"F",
"W",
"UP",
"PT",
"RET",
"TID",
"PLE",
"NPY",
"RUF",
"PGH",
"PTH",
"BLE",
"FBT",
"B",
"A",
"C4",
"T20",
"RSE",
"ERA",
]
extend-ignore = [
# pycodestyle (E, W)
"E501", # LineTooLong # TODO! fix
# pytest (PT)
"PT001", # Always use pytest.fixture()
"PT004", # Fixtures which don't return anything should have leading _
"PT007", # Parametrize should be lists of tuples # TODO! fix
"PT011", # Too broad exception assert # TODO! fix
"PT023", # Always use () on pytest decorators
]
[lint.per-file-ignores]
# Part of configuration, not a package.
"setup.py" = ["INP001"]
"conftest.py" = ["INP001"]
"docs/conf.py" = [
"E402" # Module imports not at top of file
]
"docs/*.py" = [
"INP001", # Implicit-namespace-package. The examples are not a package.
]
"__init__.py" = ["E402", "F401", "F403"]
"test_*.py" = ["B011", "D", "E402", "PGH001", "S101"]
"examples/*.py" = [
"T201",
# We need print in our examples
]
"examples/plot_hmi_modes.py" = [
"E741", # Ambiguous variable name
]
[lint.pydocstyle]
convention = "numpy"