@@ -37,6 +37,7 @@ test = [
3737 " pytest>=8.4.1" ,
3838 " pytest-cov>=6" ,
3939]
40+
4041docs = [
4142 " myst-parser>=4" ,
4243 " sphinx-autoapi>=3.4" ,
@@ -49,6 +50,7 @@ euler-validate = [
4950
5051[tool .ruff ]
5152target-version = " py314"
53+
5254output-format = " full"
5355lint.select = [
5456 # https://beta.ruff.rs/docs/rules
@@ -126,6 +128,7 @@ lint.ignore = [
126128 " SLF001" , # Private member accessed: `_Iterator` -- FIX ME
127129 " UP037" , # FIX ME
128130]
131+
129132lint.per-file-ignores."data_structures/hashing/tests/test_hash_map.py" = [
130133 " BLE001" ,
131134]
@@ -147,43 +150,37 @@ lint.per-file-ignores."project_euler/problem_099/sol1.py" = [
147150lint.per-file-ignores."sorts/external_sort.py" = [
148151 " SIM115" ,
149152]
150- lint.mccabe.max-complexity = 17 # default: 10
153+ lint.mccabe.max-complexity = 17 # default: 10
151154lint.pylint.allow-magic-value-types = [
152155 " float" ,
153156 " int" ,
154157 " str" ,
155158]
156- lint.pylint.max-args = 10 # default: 5
157- lint.pylint.max-branches = 20 # default: 12
158- lint.pylint.max-returns = 8 # default: 6
159- lint.pylint.max-statements = 88 # default: 50
159+ lint.pylint.max-args = 10 # default: 5
160+ lint.pylint.max-branches = 20 # default: 12
161+ lint.pylint.max-returns = 8 # default: 6
162+ lint.pylint.max-statements = 88 # default: 50
160163
161164[tool .codespell ]
162165ignore-words-list = " 3rt,abd,aer,ans,bitap,crate,damon,fo,followings,hist,iff,kwanza,manuel,mater,secant,som,sur,tim,toi,zar"
163- skip = """ \
164- ./.*,*.json,*.lock,ciphers/prehistoric_men.txt,project_euler/problem_022/p022_names.txt,pyproject.toml,strings/dictio\
165- nary.txt,strings/words.txt\
166- """
166+ skip = " ./.*,*.json,*.lock,ciphers/prehistoric_men.txt,project_euler/problem_022/p022_names.txt,pyproject.toml,strings/dictionary.txt,strings/words.txt"
167167
168- [tool .pytest ]
169- ini_options. markers = [
168+ [tool .pytest . ini_options ]
169+ markers = [
170170 " mat_ops: mark a test as utilizing matrix operations." ,
171171]
172- ini_options. addopts = [
172+ addopts = [
173173 " --durations=10" ,
174174 " --doctest-modules" ,
175175 " --showlocals" ,
176176]
177177
178- [tool .coverage ]
179- report. omit = [
178+ [tool .coverage . report ]
179+ omit = [
180180 " .env/*" ,
181181 " project_euler/*" ,
182182]
183- report.sort = " Cover"
184-
185- [tool .mypy ]
186- python_version = " 3.14"
183+ sort = " Cover"
187184
188185[tool .mypy ]
189186python_version = " 3.14"
@@ -267,6 +264,7 @@ myst_fence_as_directive = [
267264 " include" ,
268265]
269266templates_path = [ " _templates" ]
270- source_suffix.".rst" = " restructuredtext"
267+ [tool .sphinx-pyproject .source_suffix ]
268+ ".rst" = " restructuredtext"
271269# ".txt" = "markdown"
272- source_suffix. ".md" = " markdown"
270+ ".md" = " markdown"
0 commit comments