@@ -59,19 +59,17 @@ black = { version = "*", optional = true } # Development dependency.
5959blackdoc = { version = " *" , optional = true } # Development dependency.
6060coverage = { version = " *" , optional = true } # Development dependency.
6161coveralls = { version = " *" , optional = true } # Development dependency.
62- flake8 = { version = " *" , optional = true } # Development dependency.
6362flynt = { version = " *" , optional = true } # Development dependency.
6463invoke = { version = " *" , optional = true } # Development dependency.
6564jupyter = { version = " *" , optional = true } # Development dependency.
6665pre-commit = { version = " *" , optional = true } # Development dependency.
6766pydata-sphinx-theme = { version = " *" , optional = true } # Development dependency.
68- pydocstyle = { version = " *" , optional = true } # Development dependency.
6967pyright = { version = " *" , optional = true } # Development dependency.
7068pytest = { version = " *" , optional = true } # Development dependency.
7169pytest-cov = { version = " *" , optional = true } # Development dependency.
7270pytest-xdist = { version = " *" , optional = true } # Development dependency
73- pyupgrade = { version = " *" , optional = true } # Development dependency.
7471restructuredtext-lint = { version = " *" , optional = true } # Development dependency.
72+ ruff = { version = " *" , optional = true } # Development dependency.
7573sphinx = { version = " >= 4, < 5" , optional = true } # Development dependency.
7674sphinxcontrib-bibtex = { version = " *" , optional = true } # Development dependency.
7775toml = { version = " *" , optional = true } # Development dependency.
@@ -83,19 +81,17 @@ black = "*"
8381blackdoc = " *"
8482coverage = " != 6.3"
8583coveralls = " *"
86- flake8 = " *"
8784flynt = " *"
8885invoke = " *"
8986jupyter = " *"
9087pre-commit = " *"
9188pydata-sphinx-theme = " *"
92- pydocstyle = " *"
9389pyright = " *"
9490pytest = " *"
9591pytest-cov = " *"
9692pytest-xdist = " *"
97- pyupgrade = " *"
9893restructuredtext-lint = " *"
94+ ruff = " *"
9995sphinx = " >= 4, < 5"
10096sphinxcontrib-bibtex = " *"
10197toml = " *"
@@ -108,19 +104,17 @@ development = [
108104 " blackdoc" ,
109105 " coverage" ,
110106 " coveralls" ,
111- " flake8" ,
112107 " flynt" ,
113108 " invoke" ,
114109 " jupyter" ,
115110 " pre-commit" ,
116111 " pydata-sphinx-theme" ,
117- " pydocstyle" ,
118112 " pyright" ,
119113 " pytest" ,
120114 " pytest-cov" ,
121115 " pytest-xdist" ,
122- " pyupgrade" ,
123116 " restructuredtext-lint" ,
117+ " ruff" ,
124118 " sphinx" ,
125119 " sphinxcontrib-bibtex" ,
126120 " toml" ,
@@ -142,10 +136,6 @@ exclude = '''
142136[tool .flynt ]
143137line_length =999
144138
145- [tool .pydocstyle ]
146- convention = " numpy"
147- add-ignore = " D104,D200,D202,D205,D301,D400"
148-
149139[tool .pyright ]
150140reportMissingImports = false
151141reportMissingModuleSource = false
@@ -158,6 +148,95 @@ reportUnusedExpression = false
158148[tool .pytest .ini_options ]
159149addopts = " -n auto --dist=loadscope --durations=5"
160150
151+ [tool .ruff ]
152+ target-version = " py39"
153+ line-length = 88
154+ select = [
155+ " A" , # flake8-builtins
156+ " ARG" , # flake8-unused-arguments
157+ # "ANN", # flake8-annotations
158+ " B" , # flake8-bugbear
159+ # "BLE", # flake8-blind-except
160+ " C4" , # flake8-comprehensions
161+ # "C90", # mccabe
162+ # "COM", # flake8-commas
163+ " DTZ" , # flake8-datetimez
164+ " D" , # pydocstyle
165+ " E" , # pydocstyle
166+ # "ERA", # eradicate
167+ # "EM", # flake8-errmsg
168+ " EXE" , # flake8-executable
169+ " F" , # flake8
170+ # "FBT", # flake8-boolean-trap
171+ " G" , # flake8-logging-format
172+ " I" , # isort
173+ " ICN" , # flake8-import-conventions
174+ " INP" , # flake8-no-pep420
175+ " ISC" , # flake8-implicit-str-concat
176+ " N" , # pep8-naming
177+ # "PD", # pandas-vet
178+ " PIE" , # flake8-pie
179+ " PGH" , # pygrep-hooks
180+ " PL" , # pylint
181+ # "PT", # flake8-pytest-style
182+ # "PTH", # flake8-use-pathlib [Enable]
183+ " Q" , # flake8-quotes
184+ " RET" , # flake8-return
185+ " RUF" , # Ruff
186+ " S" , # flake8-bandit
187+ " SIM" , # flake8-simplify
188+ " T10" , # flake8-debugger
189+ " T20" , # flake8-print
190+ # "TCH", # flake8-type-checking
191+ " TID" , # flake8-tidy-imports
192+ " TRY" , # tryceratops
193+ " UP" , # pyupgrade
194+ " W" , # pydocstyle
195+ " YTT" # flake8-2020
196+ ]
197+ ignore = [
198+ " B008" ,
199+ " B905" ,
200+ " D104" ,
201+ " D200" ,
202+ " D202" ,
203+ " D205" ,
204+ " D301" ,
205+ " D400" ,
206+ " I001" ,
207+ " N801" ,
208+ " N802" ,
209+ " N803" ,
210+ " N806" ,
211+ " N813" ,
212+ " N815" ,
213+ " N816" ,
214+ " PIE804" ,
215+ " PLE0605" ,
216+ " PLR0913" ,
217+ " PLR2004" ,
218+ " RET504" ,
219+ " RET505" ,
220+ " RET506" ,
221+ " RET507" ,
222+ " RET508" ,
223+ " TRY003" ,
224+ " TRY300" ,
225+ ]
226+ typing-modules = [" colour.hints" ]
227+ fixable = [" B" , " C" , " E" , " F" , " PIE" , " RUF" , " SIM" , " UP" , " W" ]
228+
229+ [tool .ruff .pydocstyle ]
230+ convention = " numpy"
231+
232+ [tool .ruff .per-file-ignores ]
233+ "colour-checker-detection/examples/*" = [" INP" , " T201" , " T203" ]
234+ "docs/*" = [" INP" ]
235+ "setup.py" = [" INP" ]
236+ "tasks.py" = [" INP" ]
237+ "utilities/*" = [" EXE001" , " INP" ]
238+ "utilities/unicode_to_ascii.py" = [" RUF001" ]
239+
161240[build-system ]
162241requires = [ " poetry_core>=1.0.0" ]
163242build-backend = " poetry.core.masonry.api"
0 commit comments