[project] name = "openapi-spec-validator" version = "0.8.4" description = "OpenAPI 2.0 (aka Swagger) and OpenAPI 3 spec validator" authors = [ { name = "Artur Maciag", email = "maciag.artur@gmail.com" }, ] license = "Apache-2.0" readme = "README.rst" requires-python = ">=3.10,<4.0" keywords = ["openapi", "swagger", "schema"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries", "Typing :: Typed", ] dependencies = [ "jsonschema >=4.24.0,<4.25.0", "openapi-schema-validator >=0.7.3,<0.9.0", "jsonschema-path >=0.4.3,<0.5.0", "lazy-object-proxy >=1.7.1,<2.0", "pydantic-settings (>=2.0.0,<3.0.0)", "pydantic (>=2.0.0,<3.0.0)", ] [project.urls] Source = "https://github.com/python-openapi/openapi-spec-validator" Documentation = "https://openapi-spec-validator.readthedocs.io/en/latest/" [project.scripts] openapi-spec-validator = "openapi_spec_validator.__main__:main" [build-system] requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] include = [ {path = "tests", format = "sdist"}, ] [tool.poetry.group.docs.dependencies] sphinx = ">=5.3,<8.0" sphinx-immaterial = ">=0.11,<0.14" [tool.poetry.group.dev.dependencies] tbump = "^6.11.0" pre-commit = "*" pytest = "^9.0.2" pytest-flake8 = "=1.3.0" pytest-cov = "^7.0.0" tox = "*" mypy = "^1.19" isort = "^8.0.0" black = "^26.1.0" flynt = "^1.0" deptry = "^0.24.0" flake8 = "^5.0.4" pyflakes = "^2.5.0" snakeviz = "^2.2.2" [tool.coverage.run] branch = true source =["openapi_spec_validator"] [tool.coverage.xml] output = "reports/coverage.xml" [tool.mypy] files = "openapi_spec_validator" strict = true [[tool.mypy.overrides]] module = "jsonschema.*" ignore_missing_imports = true [[tool.mypy.overrides]] module = "jsonschema_specifications" ignore_missing_imports = true [[tool.mypy.overrides]] module = "lazy_object_proxy.*" ignore_missing_imports = true [tool.pytest.ini_options] addopts = """ --capture=no --verbose --showlocals --junitxml=reports/junit.xml --cov=openapi_spec_validator --cov-report=term-missing --cov-report=xml """ markers = [ "network: marks tests which do need network-enabled environment", ] [tool.black] line-length = 79 [tool.isort] profile = "black" line_length = 79 force_single_line = true [tool.tbump] [tool.tbump.git] message_template = "Version {new_version}" tag_template = "{new_version}" [tool.tbump.version] current = "0.8.4" regex = ''' (?P\d+) \. (?P\d+) \. (?P\d+) (?P[a-z]+\d+)? ''' [[tool.tbump.file]] src = "docs/index.rst" [[tool.tbump.file]] src = "docs/hook.rst" [[tool.tbump.file]] src = "openapi_spec_validator/__init__.py" [[tool.tbump.file]] src = "Dockerfile" [[tool.tbump.file]] src = "README.rst" [[tool.tbump.file]] src = "pyproject.toml" search = 'version = "{current_version}"'