@@ -17,8 +17,12 @@ keywords = [
1717 " virtual" ,
1818]
1919license = " MIT"
20- maintainers = [{ name = " Bernát Gábor" , email = " gaborjbernat@gmail.com" }]
21- authors = [{ name = " Bernát Gábor" , email = " gaborjbernat@gmail.com" }]
20+ maintainers = [
21+ { name = " Bernát Gábor" , email = " gaborjbernat@gmail.com" },
22+ ]
23+ authors = [
24+ { name = " Bernát Gábor" , email = " gaborjbernat@gmail.com" },
25+ ]
2226requires-python = " >=3.7"
2327classifiers = [
2428 " Development Status :: 5 - Production/Stable" ,
@@ -43,7 +47,7 @@ dynamic = [
4347 " version" ,
4448]
4549dependencies = [
46- ' typing-extensions>=4.7.1; python_version < " 3.11" ' ,
50+ " typing-extensions>=4.7.1; python_version<' 3.11' " ,
4751]
4852optional-dependencies.docs = [
4953 " furo>=2024.1.29" ,
@@ -66,38 +70,43 @@ build.hooks.vcs.version-file = "src/py_discovery/_version.py"
6670version.source = " vcs"
6771
6872[tool .ruff ]
69- line-length = 120
7073target-version = " py37"
71- lint.isort = { known-first-party = [" py_discovery" ], required-imports = [" from __future__ import annotations" ] }
72- lint.select = [" ALL" ]
74+ line-length = 120
75+ format.preview = true
76+ format.docstring-code-line-length = 100
77+ format.docstring-code-format = true
78+ lint.select = [
79+ " ALL" ,
80+ ]
7381lint.ignore = [
74- " INP001" , # no implicit namespaces here
7582 " ANN101" , # Missing type annotation for `self` in method
7683 " ANN102" , # Missing type annotation for `cls` in classmethod"
7784 " ANN401" , # Dynamically typed expressions
85+ " COM812" , # Conflict with formatter
86+ " CPY" , # no copyright
7887 " D203" , # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
7988 " 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
82- " COM812" , # Conflict with formatter
89+ " INP001" , # no implicit namespaces here
8390 " ISC001" , # Conflict with formatter
91+ " S104" , # Possible binding to all interfaces
8492]
85- lint.preview = true
86- format.preview = true
87- format.docstring-code-format = true
88- format.docstring-code-line-length = 100
89- [tool .ruff .lint .per-file-ignores ]
90- "tests/**/*.py" = [
91- " S101" , # asserts allowed in tests
93+ lint.per-file-ignores."tests/**/*.py" = [
94+ " D" , # don't care about documentation in tests
9295 " FBT" , # don't care about booleans as positional arguments in tests
9396 " INP001" , # no implicit namespace
94- " D" , # don't care about documentation in tests
95- " S603" , # `subprocess` call: check for execution of untrusted input
96- " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
97+ " PLC0415" , # import at top
9798 " PLC2701" , # Private imports
9899 " PLR0917" , # too many positional arguments
99- " PLC0415" , # import at top
100+ " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
101+ " S101" , # asserts allowed in tests
102+ " S603" , # `subprocess` call: check for execution of untrusted input
100103]
104+ lint.isort = { known-first-party = [
105+ " py_discovery" ,
106+ ], required-imports = [
107+ " from __future__ import annotations" ,
108+ ] }
109+ lint.preview = true
101110
102111[tool .codespell ]
103112builtin = " clear,usage,en-GB_to_en-US"
@@ -117,12 +126,19 @@ paths.source = [
117126 " */src" ,
118127 " *\\ src" ,
119128]
120- report.omit = []
129+ report.omit = [
130+ ]
121131run.parallel = true
122- run.plugins = [" covdefaults" ]
132+ run.plugins = [
133+ " covdefaults" ,
134+ ]
123135
124136[tool .mypy ]
125137python_version = " 3.8"
126138show_error_codes = true
127139strict = true
128- overrides = [{ module = [" setuptools.*" ], ignore_missing_imports = true }]
140+ overrides = [
141+ { module = [
142+ " setuptools.*" ,
143+ ], ignore_missing_imports = true },
144+ ]
0 commit comments