@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
55[project ]
66name = " docstub"
77maintainers = [
8- {name = " Lars Grüter" },
8+ {name = " Lars Grüter" },
99]
1010description = " Generate Python stub files from docstrings"
1111readme = " README.md"
@@ -17,39 +17,39 @@ license-files = ["LICENSE.txt"]
1717requires-python = " >=3.12"
1818keywords = [" typing" , " stub files" , " docstings" , " numpydoc" ]
1919classifiers = [
20- " Development Status :: 3 - Alpha" ,
21- " Environment :: Console" ,
22- " Intended Audience :: Developers" ,
23- " Intended Audience :: Science/Research" ,
24- " Operating System :: OS Independent" ,
25- " Programming Language :: Python" ,
26- " Programming Language :: Python :: 3" ,
27- " Programming Language :: Python :: 3 :: Only" ,
28- " Programming Language :: Python :: 3.12" ,
29- " Programming Language :: Python :: 3.13" ,
30- " Topic :: Software Development :: Code Generators" ,
31- " Topic :: Scientific/Engineering" ,
20+ " Development Status :: 3 - Alpha" ,
21+ " Environment :: Console" ,
22+ " Intended Audience :: Developers" ,
23+ " Intended Audience :: Science/Research" ,
24+ " Operating System :: OS Independent" ,
25+ " Programming Language :: Python" ,
26+ " Programming Language :: Python :: 3" ,
27+ " Programming Language :: Python :: 3 :: Only" ,
28+ " Programming Language :: Python :: 3.12" ,
29+ " Programming Language :: Python :: 3.13" ,
30+ " Topic :: Software Development :: Code Generators" ,
31+ " Topic :: Scientific/Engineering" ,
3232]
3333dynamic = [" version" ]
3434dependencies = [
35- " numpydoc >=1.7.0" ,
36- " click >=8.1.7" ,
37- " libcst >=1.3.1" ,
38- " lark >=1.1.9" ,
39- " black >=24.4.2" ,
40- " isort >=5.13.2" ,
35+ " numpydoc >=1.7.0" ,
36+ " click >=8.1.7" ,
37+ " libcst >=1.3.1" ,
38+ " lark >=1.1.9" ,
39+ " black >=24.4.2" ,
40+ " isort >=5.13.2" ,
4141]
4242
4343[project .optional-dependencies ]
4444dev = [
45- " pre-commit >=3.7 " ,
46- " ipython" ,
45+ " pre-commit >=4.3.0 " ,
46+ " ipython" ,
4747]
4848test = [
49- " pytest >=5.0.0 " ,
50- " pytest-cov >= 5.0.0" ,
51- " mypy>=1.16 .0" ,
52- " basedpyright" ,
49+ " pytest >=8.4.1 " ,
50+ " pytest-cov >= 5.0.0" ,
51+ " mypy >=1.17 .0" ,
52+ " basedpyright >=1.31 " ,
5353]
5454
5555[project .urls ]
@@ -68,42 +68,49 @@ src = ["src", "tests"]
6868
6969[tool .ruff .lint ]
7070extend-select = [
71- " B" , # flake8-bugbear
72- " I" , # isort
73- " C4" , # flake8-comprehensions
74- " ICN" , # flake8-import-conventions
75- " G" , # flake8-logging-format
76- " PGH" , # pygrep-hooks
77- " PIE" , # flake8-pie
78- " PL" , # pylint
79- " PT" , # flake8-pytest-style
80- " PTH" , # flake8-use-pathlib
81- " RET" , # flake8-return
82- " RUF" , # Ruff-specific
83- " SIM" , # flake8-simplify
84- " T20" , # flake8-print
85- " UP" , # pyupgrade
86- " YTT" , # flake8-2020
87- " EXE" , # flake8-executable
88- # "PYI", # flake8-pyi
71+ " B" , # flake8-bugbear
72+ " I" , # isort
73+ " C4" , # flake8-comprehensions
74+ " ICN" , # flake8-import-conventions
75+ " G" , # flake8-logging-format
76+ " PGH" , # pygrep-hooks
77+ " PIE" , # flake8-pie
78+ " PL" , # pylint
79+ " PT" , # flake8-pytest-style
80+ " PTH" , # flake8-use-pathlib
81+ " RET" , # flake8-return
82+ " RUF" , # Ruff-specific
83+ " SIM" , # flake8-simplify
84+ " T20" , # flake8-print
85+ " UP" , # pyupgrade
86+ " YTT" , # flake8-2020
87+ " EXE" , # flake8-executable
88+ # "PYI", # flake8-pyi
8989]
9090ignore = [
91- " PLR09" , # Too many <...>
92- " PLR2004" , # Magic value used in comparison
93- " ISC001" , # Conflicts with formatter
94- " RET504" , # Assignment before `return` statement facilitates debugging
95- " PTH123" , # Using builtin open() instead of Path.open() is fine
96- " SIM108" , # Terniary operator is always more readable
97- " SIM103" , # Don't recommend returning the condition directly
91+ " PLR09" , # Too many <...>
92+ " PLR2004" , # Magic value used in comparison
93+ " ISC001" , # Conflicts with formatter
94+ " RET504" , # Assignment before `return` statement facilitates debugging
95+ " PTH123" , # Using builtin open() instead of Path.open() is fine
96+ " SIM108" , # Terniary operator is always more readable
97+ " SIM103" , # Don't recommend returning the condition directly
9898]
9999
100100
101101[tool .pytest .ini_options ]
102- addopts = " --doctest-modules"
103- testpaths = [
104- " src" ,
105- " tests" ,
102+ minversion = " 8"
103+ addopts = [
104+ " -ra" ,
105+ " --showlocals" ,
106+ " --strict-markers" ,
107+ " --strict-config" ,
108+ " --doctest-modules"
106109]
110+ xfail_strict = true
111+ filterwarnings = [" error" ]
112+ log_cli_level = " info"
113+ testpaths = [" src" , " tests" ]
107114
108115
109116[tool .coverage ]
@@ -126,6 +133,8 @@ Path = "pathlib"
126133
127134[tool .mypy ]
128135strict = true
136+ warn_unreachable = false
137+ enable_error_code = [" ignore-without-code" , " redundant-expr" , " truthy-bool" ]
129138disable_error_code = [" type-arg" ]
130139
131140# Don't type test suite itself but check if usage makes sense with docstub's stubs
0 commit comments