@@ -59,20 +59,6 @@ minversion = "6.0"
59
59
addopts = " -ra -v"
60
60
markers = [" cuda (deselect with '-m \" nocuda\" ')" ]
61
61
62
- [tool .isort ]
63
- profile = " black"
64
- skip = [" .gitignore" , " .dockerignore" , " .md" , " .json" ]
65
- multi_line_output = 3
66
-
67
- [tool .black ]
68
- line-length = 88
69
-
70
- [tool .flake8 ]
71
- max-line-length = 88
72
- extend-ignore = " E203,D103,D104,D401"
73
- max-complexity = 10
74
- exclude = " .git,__pycache__,docs/source/conftest.py,old,build,dist,test,tests"
75
-
76
62
[tool .coverage .run ]
77
63
source = [" cellseg_models_pytorch" ]
78
64
@@ -91,11 +77,146 @@ exclude_lines = [
91
77
" def extra_repr" ,
92
78
]
93
79
94
- [tool .mypy ]
95
- warn_return_any = false
96
- warn_unused_configs = true
97
- ignore_missing_imports = true
98
- plugins = " numpy.typing.mypy_plugin"
80
+ [tool .ruff ]
81
+ select = [
82
+ " A" , # flake8-builtins
83
+ " B" , # flake8-bugbear
84
+ " D" , # pydocstyle, need to enable for docstrings check.
85
+ " E" , # pycodestyle - Error
86
+ " F" , # pyflakes
87
+ " G" , # flake8-logging-format
88
+ " I" , # Isort
89
+ " N" , # pep8-naming
90
+ " S" , # flake8-bandit
91
+ " W" , # pycodestyle - Warning
92
+ " Q" , # flake8-quotes
93
+ " C4" , # flake8-comprehensions
94
+ " FA" , # flake8-future-annotations
95
+ " EM" , # flake8-errmsg
96
+ " PD" , # pandas-vet
97
+ " PL" , # Pylint
98
+ " PT" , # flake8-pytest-style
99
+ " TD" , # flake8-todos
100
+ " UP" , # pyupgrade
101
+ " C90" , # mccabe
102
+ " T10" , # flake8-debugger
103
+ " T20" , # flake8-print
104
+ " ANN" , # flake8-annotations
105
+ " ARG" , # flake8-unused-arguments
106
+ " BLE" , # flake8-blind-except
107
+ " COM" , # flake8-commas
108
+ " DTZ" , # flake8-datetimez
109
+ " ERA" , # eradicate
110
+ " FBT" , # flake8-boolean-trap
111
+ " FIX" , # flake8-fixme
112
+ " FLY" , # flynt
113
+ " ICN" , # flake8-import-conventions
114
+ " INP" , # flake8-no-pep420
115
+ " INT" , # flake8-gettext
116
+ " ISC" , # flake8-implicit-str-concat
117
+ " NPY" , # NumPy-specific rules
118
+ " PGH" , # pygrep-hooks
119
+ " PIE" , # flake8-pie
120
+ " PTH" , # flake8-use-pathlib
121
+ " PYI" , # flake8-pyi
122
+ " RET" , # flake8-return
123
+ " RSE" , # flake8-raise
124
+ " RUF" , # Ruff-specific rules
125
+ " SLF" , # flake8-self
126
+ " SIM" , # flake8-simplify
127
+ " TID" , # flake8-tidy-imports
128
+ " TCH" , # flake8-type-checking
129
+ " TRY" , # tryceratops
130
+ " YTT" , # flake8-2020
131
+ " PERF" , # Perflint
132
+ " SLOT" , # flake8-slots
133
+ " ASYNC" , # flake8-async
134
+ ]
135
+
136
+ include = [" *.py" , " *.pyi" , " **/pyproject.toml" , " *.ipynb" ]
137
+ extend-include = [" *.ipynb" ]
138
+ # Exclude a variety of commonly ignored directories.
139
+ exclude = [
140
+ " .bzr" ,
141
+ " .direnv" ,
142
+ " .eggs" ,
143
+ " .git" ,
144
+ " .git-rewrite" ,
145
+ " .hg" ,
146
+ " .ipynb_checkpoints" ,
147
+ " .mypy_cache" ,
148
+ " .nox" ,
149
+ " .pants.d" ,
150
+ " .pyenv" ,
151
+ " .pytest_cache" ,
152
+ " .pytype" ,
153
+ " .ruff_cache" ,
154
+ " .svn" ,
155
+ " .tox" ,
156
+ " .venv" ,
157
+ " .vscode" ,
158
+ " conftest.py" ,
159
+ " old" ,
160
+ " test" ,
161
+ " tests" ,
162
+ " __pypackages__" ,
163
+ " __pycache__" ,
164
+ " _build" ,
165
+ " docs" ,
166
+ " source" ,
167
+ " buck-out" ,
168
+ " build" ,
169
+ " dist" ,
170
+ " node_modules" ,
171
+ " site-packages" ,
172
+ " venv" ,
173
+ ]
174
+
175
+ # Same as Black.
176
+ line-length = 88
177
+ indent-width = 4
178
+
179
+ # Assume Python 3.10
180
+ target-version = " py310"
181
+
182
+ [tool .ruff .pydocstyle ]
183
+ # Use numpy-style docstrings.
184
+ convention = " google"
185
+
186
+ [tool .ruff .lint ]
187
+ # Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
188
+ select = [" E4" , " E7" , " E9" , " F" ]
189
+ ignore = [" E203" , " D103" , " D104" , " E501" ]
190
+
191
+ # Allow fix for all enabled rules (when `--fix`) is provided.
192
+ fixable = [" ALL" ]
193
+ unfixable = [" B" ]
194
+
195
+ # Allow unused variables when underscore-prefixed.
196
+ dummy-variable-rgx = " ^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
197
+
198
+ [tool .ruff .format ]
199
+ # Like Black, use double quotes for strings.
200
+ quote-style = " double"
201
+
202
+ # Like Black, indent with spaces, rather than tabs.
203
+ indent-style = " space"
204
+
205
+ # Like Black, respect magic trailing commas.
206
+ skip-magic-trailing-comma = false
207
+
208
+ # Like Black, automatically detect the appropriate line ending.
209
+ line-ending = " auto"
210
+
211
+ # format docs
212
+ docstring-code-format = true
213
+
214
+ # docstr code line length
215
+ # docstring-code-line-length = "dynamic"
216
+
217
+ [tool .ruff .lint .per-file-ignores ]
218
+ "__init__.py" = [" E402" ]
219
+ "**/{tests,docs,tools}/*" = [" E402" ]
99
220
100
221
[build-system ]
101
222
requires = [" poetry-core>=1.0.0" ]
0 commit comments