@@ -5,6 +5,7 @@ description = "OpenAPI v3 parser"
55readme = " readme.md"
66license = { file = " license.txt" }
77authors = [{ name = " Artem Manchenkov" , email = " artem@manchenkoff.me" }]
8+ requires-python = " >=3.10"
89keywords = [
910 " swagger" ,
1011 " python" ,
@@ -15,29 +16,31 @@ keywords = [
1516 " swagger-api" ,
1617]
1718classifiers = [
18- " Development Status :: 4 - Beta" ,
1919 " License :: OSI Approved :: MIT License" ,
2020 " Operating System :: OS Independent" ,
2121 " Intended Audience :: Developers" ,
22- " Programming Language :: Python :: 3.9 " ,
22+ " Programming Language :: Python :: 3.10 " ,
2323 " Topic :: Software Development :: Libraries" ,
2424]
25- requires-python = " >=3.9"
26- dependencies = [" openapi-spec-validator>=0.7.2" , " prance>=23.6.21.0" ]
25+ dependencies = [
26+ " openapi-spec-validator>=0.8.5" ,
27+ " prance>=25.4.8.0" ,
28+ " ty>=0.0.37" ,
29+ ]
2730
2831[project .urls ]
2932homepage = " https://github.com/manchenkoff/openapi3-parser"
3033source = " https://github.com/manchenkoff/openapi3-parser"
3134
3235[dependency-groups ]
33- dev = [" mypy>=1.18.2 " , " pytest>=8.4.2 " ]
36+ dev = [" mypy>=2.1.0 " , " pytest>=9.0.3 " , " pytest-cov>=6.1.0 " , " ruff>=0.15.13 " , " ty>=0.0.37 " ]
3437
3538[build-system ]
36- requires = [" setuptools>=61.0 " ]
37- build-backend = " setuptools.build_meta "
39+ requires = [" uv_build>=0.11.12,<0.12 " ]
40+ build-backend = " uv_build "
3841
39- [tool .setuptools . packages . find ]
40- where = [ " src " ]
42+ [tool .uv . build-backend ]
43+ module-name = " openapi_parser "
4144
4245[[tool .uv .index ]]
4346name = " testpypi"
@@ -46,26 +49,30 @@ publish-url = "https://test.pypi.org/legacy/"
4649explicit = true
4750
4851[tool .mypy ]
49- python_version = 3.9
52+ python_version = " 3.10"
53+ strict = true
54+ mypy_path = [" src" ]
5055
51- check_untyped_defs = true
52- follow_imports = " silent"
53- no_implicit_reexport = true
54- no_implicit_optional = true
56+ [[tool .mypy .overrides ]]
57+ module = " tests.*"
5558
56- strict_optional = true
57- strict_equality = true
59+ [tool .ruff .lint ]
60+ extend-select = [
61+ " D" , # pydocstyle
62+ " UP" , # pyupgrade
63+ " B" , # flake8-bugbear
64+ " SIM" , # flake8-simplify
65+ " I" , # isort
66+ " ARG" , # unused arguments
67+ " RUF100" , # unused noqa
68+ ]
5869
59- ignore_missing_imports = true
60- ignore_errors = false
70+ [ tool . ruff . lint . pydocstyle ]
71+ convention = " google "
6172
62- disallow_any_generics = false
63- disallow_untyped_defs = true
64- disallow_untyped_calls = true
65- disallow_untyped_decorators = true
73+ [tool .ruff .lint .per-file-ignores ]
74+ "tests/**" = [" D" , " ARG" ]
6675
67- warn_redundant_casts = true
68- warn_unused_ignores = true
69- warn_unused_configs = true
70- warn_unreachable = true
71- warn_no_return = true
76+ [tool .coverage .run ]
77+ source = [" openapi_parser" ]
78+ omit = [" tests/*" ]
0 commit comments