2
2
build-backend = " hatchling.build"
3
3
requires = [
4
4
" hatch-vcs>=0.3" ,
5
- " hatchling>=1.14 " ,
5
+ " hatchling>=1.17.1 " ,
6
6
]
7
7
8
8
[project ]
@@ -26,30 +26,34 @@ classifiers = [
26
26
" Intended Audience :: Developers" ,
27
27
" License :: OSI Approved :: MIT License" ,
28
28
" Programming Language :: Python" ,
29
- " Programming Language :: Python :: 3" ,
30
29
" Programming Language :: Python :: 3 :: Only" ,
30
+ " Programming Language :: Python :: 3.8" ,
31
+ " Programming Language :: Python :: 3.9" ,
32
+ " Programming Language :: Python :: 3.10" ,
33
+ " Programming Language :: Python :: 3.11" ,
34
+ " Programming Language :: Python :: 3.12" ,
31
35
" Topic :: Documentation :: Sphinx" ,
32
36
]
33
37
dynamic = [
34
38
" version" ,
35
39
]
36
40
dependencies = [
37
- " Sphinx>=6.1.3 " ,
41
+ " Sphinx>=7.0.1 " ,
38
42
]
39
43
optional-dependencies.docs = [
40
- " furo>=2023.3.27 " ,
41
- " sphinx>=6.1.3 " ,
44
+ " furo>=2023.5.20 " ,
45
+ " sphinx>=7.0.1 " ,
42
46
" sphinx-autodoc-typehints>=1.23.4" ,
43
47
]
44
48
optional-dependencies.testing = [
45
49
" covdefaults>=2.3" ,
46
- " coverage>=7.2.3 " ,
50
+ " coverage>=7.2.7 " ,
47
51
" diff-cover>=7.5" ,
48
52
" nptyping>=2.5" ,
49
53
" pytest>=7.3.1" ,
50
- " pytest-cov>=4" ,
54
+ " pytest-cov>=4.1 " ,
51
55
" sphobjinv>=2.3.1" ,
52
- " typing-extensions>=4.5 " ,
56
+ " typing-extensions>=4.6.3 " ,
53
57
]
54
58
optional-dependencies.type-comment = [
55
59
' typed-ast>=1.5.4; python_version < "3.8"' ,
@@ -66,11 +70,6 @@ version.source = "vcs"
66
70
[tool .black ]
67
71
line-length = 120
68
72
69
- [tool .isort ]
70
- line_length = 120
71
- profile = " black"
72
- known_first_party = [" sphinx_autodoc_typehints" , " tests" ]
73
-
74
73
[tool .pytest .ini_options ]
75
74
testpaths = [" tests" ]
76
75
@@ -94,8 +93,26 @@ run.plugins = ["covdefaults"]
94
93
python_version = " 3.10"
95
94
strict = true
96
95
exclude = " ^(.*/roots/.*)|(tests/test_integration.py)$"
96
+ overrides = [{ module = [" sphobjinv.*" ], ignore_missing_imports = true }]
97
97
98
-
99
- [[tool .mypy .overrides ]]
100
- module = [" sphobjinv" ]
101
- ignore_missing_imports = true
98
+ [tool .ruff ]
99
+ select = [" ALL" ]
100
+ line-length = 120
101
+ target-version = " py37"
102
+ isort = {known-first-party = [" tox" , " tests" ], required-imports = [" from __future__ import annotations" ]}
103
+ ignore = [
104
+ " ANN101" , # no typoe annotation for self
105
+ " ANN401" , # allow Any as type annotation
106
+ " D203" , # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
107
+ " D212" , # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible
108
+ " S104" , # Possible binding to all interface
109
+ ]
110
+ [tool .ruff .per-file-ignores ]
111
+ "tests/**/*.py" = [
112
+ " S101" , # asserts allowed in tests...
113
+ " FBT" , # don"t care about booleans as positional arguments in tests
114
+ " INP001" , # no implicit namespace
115
+ " D" , # don"t care about documentation in tests
116
+ " S603" , # `subprocess` call: check for execution of untrusted input
117
+ " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
118
+ ]
0 commit comments