Metadata-Version: 2.3 Name: openapi-schema-validator Version: 0.6.3 Summary: OpenAPI schema validation for Python Home-page: https://github.com/python-openapi/openapi-schema-validator License: BSD-3-Clause Keywords: openapi,swagger,schema Author: Artur Maciag Author-email: maciag.artur@gmail.com Requires-Python: >=3.8.0,<4.0.0 Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: 3.13 Classifier: Topic :: Software Development :: Libraries Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Typing :: Typed Provides-Extra: docs Requires-Dist: jsonschema (>=4.19.1,<5.0.0) Requires-Dist: jsonschema-specifications (>=2023.5.2) Requires-Dist: rfc3339-validator Project-URL: Repository, https://github.com/python-openapi/openapi-schema-validator Description-Content-Type: text/x-rst ************************ openapi-schema-validator ************************ .. image:: https://img.shields.io/pypi/v/openapi-schema-validator.svg :target: https://pypi.python.org/pypi/openapi-schema-validator .. image:: https://travis-ci.org/python-openapi/openapi-schema-validator.svg?branch=master :target: https://travis-ci.org/python-openapi/openapi-schema-validator .. image:: https://img.shields.io/codecov/c/github/python-openapi/openapi-schema-validator/master.svg?style=flat :target: https://codecov.io/github/python-openapi/openapi-schema-validator?branch=master .. image:: https://img.shields.io/pypi/pyversions/openapi-schema-validator.svg :target: https://pypi.python.org/pypi/openapi-schema-validator .. image:: https://img.shields.io/pypi/format/openapi-schema-validator.svg :target: https://pypi.python.org/pypi/openapi-schema-validator .. image:: https://img.shields.io/pypi/status/openapi-schema-validator.svg :target: https://pypi.python.org/pypi/openapi-schema-validator About ##### Openapi-schema-validator is a Python library that validates schema against: * `OpenAPI Schema Specification v3.0 `__ which is an extended subset of the `JSON Schema Specification Wright Draft 00 `__. * `OpenAPI Schema Specification v3.1 `__ which is an extended superset of the `JSON Schema Specification Draft 2020-12 `__. Documentation ############# Check documentation to see more details about the features. All documentation is in the "docs" directory and online at `openapi-schema-validator.readthedocs.io `__ Installation ############ Recommended way (via pip): .. code-block:: console pip install openapi-schema-validator Alternatively you can download the code and install from the repository: .. code-block:: console pip install -e git+https://github.com/python-openapi/openapi-schema-validator.git#egg=openapi_schema_validator Usage ##### To validate an OpenAPI v3.1 schema: .. code-block:: python from openapi_schema_validator import validate # A sample schema schema = { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" }, "age": { "type": ["integer", "null"], "format": "int32", "minimum": 0, }, "birth-date": { "type": "string", "format": "date", }, "address": { "type": 'array', "prefixItems": [ { "type": "number" }, { "type": "string" }, { "enum": ["Street", "Avenue", "Boulevard"] }, { "enum": ["NW", "NE", "SW", "SE"] } ], "items": False, } }, "additionalProperties": False, } # If no exception is raised by validate(), the instance is valid. validate({"name": "John", "age": 23, "address": [1600, "Pennsylvania", "Avenue"]}, schema) validate({"name": "John", "city": "London"}, schema) Traceback (most recent call last): ... ValidationError: Additional properties are not allowed ('city' was unexpected) By default, the latest OpenAPI schema syntax is expected. For more details read about `Validation `__. Related projects ################ * `openapi-core `__ Python library that adds client-side and server-side support for the OpenAPI. * `openapi-spec-validator `__ Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 specification