@@ -46,13 +46,13 @@ dependencies = [
4646 ' typing-extensions>=4.7.1; python_version < "3.11"' ,
4747]
4848optional-dependencies.docs = [
49- " furo>=2023.9.10 " ,
49+ " furo>=2024.1.29 " ,
5050 " sphinx<7.2" ,
51- " sphinx-autodoc-typehints>=1.25.2 " ,
51+ " sphinx-autodoc-typehints>=1.25.3 " ,
5252]
5353optional-dependencies.testing = [
5454 " covdefaults>=2.3" ,
55- " pytest>=7.4.3 " ,
55+ " pytest>=7.4.4 " ,
5656 " pytest-cov>=4.1" ,
5757 " pytest-mock>=3.11.1" ,
5858 " setuptools>=68" ,
@@ -65,33 +65,48 @@ urls.Tracker = "https://github.com/tox-dev/py-discovery/issues"
6565build.hooks.vcs.version-file = " src/py_discovery/_version.py"
6666version.source = " vcs"
6767
68- [tool .black ]
69- line-length = 120
70-
7168[tool .ruff ]
7269select = [" ALL" ]
7370line-length = 120
7471target-version = " py37"
75- isort = {known-first-party = [" py_discovery" ], required-imports = [" from __future__ import annotations" ]}
72+ isort = { known-first-party = [" py_discovery" ], required-imports = [" from __future__ import annotations" ] }
7673ignore = [
77- " INP001" , # no implicit namespaces here
78- " ANN101" , # Missing type annotation for `self` in method
79- " ANN102" , # Missing type annotation for `cls` in classmethod"
80- " ANN401" , # Dynamically typed expressions
81- " D203" , # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
82- " D212" , # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible
83- " S104" , # Possible binding to all interfaces
74+ " INP001" , # no implicit namespaces here
75+ " ANN101" , # Missing type annotation for `self` in method
76+ " ANN102" , # Missing type annotation for `cls` in classmethod"
77+ " ANN401" , # Dynamically typed expressions
78+ " D203" , # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
79+ " D212" , # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible
80+ " S104" , # Possible binding to all interfaces
81+ " CPY" , # no copyright
8482]
83+ format.preview = true
84+ lint.preview = true
8585[tool .ruff .per-file-ignores ]
8686"tests/**/*.py" = [
87- " S101" , # asserts allowed in tests
88- " FBT" , # don't care about booleans as positional arguments in tests
89- " INP001" , # no implicit namespace
90- " D" , # don't care about documentation in tests
91- " S603" , # `subprocess` call: check for execution of untrusted input
92- " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
87+ " S101" , # asserts allowed in tests
88+ " FBT" , # don't care about booleans as positional arguments in tests
89+ " INP001" , # no implicit namespace
90+ " D" , # don't care about documentation in tests
91+ " S603" , # `subprocess` call: check for execution of untrusted input
92+ " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
93+ " PLC2701" , # Private imports
94+ " PLR0917" , # too many positional arguments
95+ " PLC0415" , # import at top
9396]
9497
98+ [tool .codespell ]
99+ builtin = " clear,usage,en-GB_to_en-US"
100+ count = true
101+ quiet-level = 3
102+
103+ [tool .docformatter ]
104+ blank = true
105+ recursive = true
106+ pre-summary-newline = true
107+ wrap-descriptions = 120
108+ wrap-summaries = 120
109+
95110[tool .coverage ]
96111report.fail_under = 87
97112html.show_contexts = true
@@ -110,7 +125,7 @@ run.parallel = true
110125run.plugins = [" covdefaults" ]
111126
112127[tool .mypy ]
113- python_version = " 3.7 "
128+ python_version = " 3.8 "
114129show_error_codes = true
115130strict = true
116131overrides = [{ module = [" setuptools.*" ], ignore_missing_imports = true }]
0 commit comments