Openapi Schema Validator Save

OpenAPI schema validator is a Python library that validates schema against OpenAPI Schema Specification v3.0 and v3.1

Project README

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 <https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject>__ which is an extended subset of the JSON Schema Specification Wright Draft 00 <http://json-schema.org/>__.
  • OpenAPI Schema Specification v3.1 <https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.1.0.md#schemaObject>__ which is an extended superset of the JSON Schema Specification Draft 2020-12 <http://json-schema.org/>__.

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 <https://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 <https://openapi-schema-validator.readthedocs.io/en/latest/validation.html>__.

Related projects ################

  • openapi-core <https://github.com/python-openapi/openapi-core>__ Python library that adds client-side and server-side support for the OpenAPI.
  • openapi-spec-validator <https://github.com/python-openapi/openapi-spec-validator>__ Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 specification
Open Source Agenda is not affiliated with "Openapi Schema Validator" Project. README Source: python-openapi/openapi-schema-validator
Stars
87
Open Issues
13
Last Commit
3 weeks ago
License

Open Source Agenda Badge

Open Source Agenda Rating