11[project ]
22name = " objinspect"
3- version = " 0.3.0 "
3+ version = " 0.3.1 "
44description = " A high-level library for Python object inspection"
55authors = [{ name = " Žiga Ivanšek" , email = " ziga.ivansek@gmail.com" }]
66license = { file = " LICENSE" }
@@ -25,6 +25,7 @@ classifiers = [
2525 " Programming Language :: Python :: 3.11" ,
2626 " Programming Language :: Python :: 3.12" ,
2727 " Programming Language :: Python :: 3.13" ,
28+ " Programming Language :: Python :: 3.14" ,
2829]
2930
3031keywords = [
@@ -39,27 +40,62 @@ keywords = [
3940 " function-signature" ,
4041]
4142
42-
4343[project .optional-dependencies ]
44- test = [" pytest" ]
45- dev = [" pytest" , " black " , " ruff" , " pre-commit" ]
44+ test = [" pytest" , " coverage " ]
45+ dev = [" pytest" , " coverage " , " ruff" , " pre-commit" , " codespell " , " mypy " ]
4646
4747[project .urls ]
4848Repository = " https://github.com/zigai/objinspect"
49- Documentation = " https://objinspect.readthedocs.io"
5049Issues = " https://github.com/zigai/objinspect/issues"
5150Homepage = " https://github.com/zigai/objinspect"
51+ Documentation = " https://objinspect.readthedocs.io"
5252
5353[build-system ]
5454requires = [" hatchling" ]
5555build-backend = " hatchling.build"
5656
57+ [tool .hatch .envs .test ]
58+ features = [" test" ]
59+ installer = " uv"
60+
61+ [[tool .hatch .envs .test .matrix ]]
62+ python = [" 3.10" , " 3.11" , " 3.12" , " 3.13" , " 3.14" ]
63+
64+ [tool .hatch .envs .test .scripts ]
65+ test = " pytest -v {args}"
66+ cov = " coverage run -m pytest {args}"
67+
5768[tool .hatch .build .targets .wheel ]
5869packages = [" objinspect" ]
5970
60- [tool .black ]
61- line-length = 100
62- target_version = [' py310' , ' py311' , ' py312' , ' py313' ]
71+ [tool .coverage .run ]
72+ source = [" objinspect" ]
73+ branch = true
74+
75+ [tool .coverage .report ]
76+ exclude_lines = [
77+ ' pragma: no cover' ,
78+ ' raise NotImplementedError' ,
79+ ' if TYPE_CHECKING:' ,
80+ ' if typing.TYPE_CHECKING:' ,
81+ ]
82+ omit = [" tests/*" , " tests/**" ]
83+
84+ [tool .mypy ]
85+ python_version = " 3.10"
86+ files = [" objinspect" ]
87+ exclude = [" ^tests/" ]
88+
89+ disallow_untyped_defs = true
90+ disallow_untyped_calls = true
91+ disallow_any_generics = true
92+ no_implicit_optional = true
93+ warn_unused_ignores = true
94+ warn_redundant_casts = true
95+ warn_return_any = true
96+ warn_unused_configs = true
97+ strict_equality = true
98+ ignore_missing_imports = true
6399
64100[tool .ruff ]
65101line-length = 100
@@ -74,13 +110,13 @@ select = [
74110 ' YTT' , # flake8-2020
75111 ' B' , # flake8-bugbear
76112 " PLE" , # pylint
77- ' PYI006' , # flake8-pyi
78- ' PYI019' , # flake8-pyi
79- ' PYI024' , # flake8-pyi
80- ' PYI030' , # flake8-pyi
81- ' PYI062' , # flake8-pyi
82- ' PYI063' , # flake8-pyi
83- ' PYI066' , # flake8-pyi
113+ ' PYI006' ,
114+ ' PYI019' ,
115+ ' PYI024' ,
116+ ' PYI030' ,
117+ ' PYI062' ,
118+ ' PYI063' ,
119+ ' PYI066' ,
84120 " RUF001" ,
85121 " RUF002" ,
86122 " RUF003" ,
@@ -134,33 +170,7 @@ ignore = [
134170 " UP007" ,
135171 " UP038" ,
136172]
137- isort = { known-first-party = [" objinspect" , ' tests' ] }
138- pydocstyle = { convention = ' google' }
139-
140- exclude = [
141- " .bzr" ,
142- " .direnv" ,
143- " .eggs" ,
144- " .git" ,
145- " .hg" ,
146- " .mypy_cache" ,
147- " .nox" ,
148- " .pants.d" ,
149- " .pytype" ,
150- " .ruff_cache" ,
151- " .svn" ,
152- " .tox" ,
153- " .venv" ,
154- " __pypackages__" ,
155- " _build" ,
156- " buck-out" ,
157- " build" ,
158- " dist" ,
159- " node_modules" ,
160- " venv" ,
161- " tests/*" ,
162- " tests/**/*" ,
163- ]
173+ exclude = [" build" , " tests/**" ]
164174
165175[tool .ruff .lint .per-file-ignores ]
166176"__init__.py" = [
@@ -173,14 +183,13 @@ exclude = [
173183quote-style = " double"
174184indent-style = " space"
175185skip-magic-trailing-comma = false
176- line-ending = " auto "
186+ line-ending = " lf "
177187
178- [tool .hatch .envs .test ]
179- features = [" test" ]
180- installer = " uv"
188+ [tool .ruff .lint .isort ]
189+ known-first-party = [" objinspect" , " tests" ]
181190
182- [[ tool .hatch . envs . test . matrix ] ]
183- python = [ " 3.10 " , " 3.11 " , " 3.12 " , " 3.13 " ]
191+ [tool .ruff . lint . pydocstyle ]
192+ convention = " google "
184193
185- [tool .hatch . envs . test . scripts ]
186- test = " pytest -v "
194+ [tool .codespell ]
195+ skip = ' .git,uv.lock '
0 commit comments