Skip to main content

OpenAPI schema validation for Python

Project description

https://img.shields.io/pypi/v/openapi-schema-validator.svg https://travis-ci.org/p1c2u/openapi-schema-validator.svg?branch=master https://img.shields.io/codecov/c/github/p1c2u/openapi-schema-validator/master.svg?style=flat https://img.shields.io/pypi/pyversions/openapi-schema-validator.svg https://img.shields.io/pypi/format/openapi-schema-validator.svg https://img.shields.io/pypi/status/openapi-schema-validator.svg

About

Openapi-schema-validator is a Python library that validates schema against the OpenAPI Schema Specification v3.0 which is an extended subset of the JSON Schema Specification Wright Draft 00.

Installation

Recommended way (via pip):

$ pip install openapi-schema-validator

Alternatively you can download the code and install from the repository:

$ pip install -e git+https://github.com/p1c2u/openapi-schema-validator.git#egg=openapi_schema_validator

Usage

Simple usage

from openapi_schema_validator import validate

# A sample schema
schema = {
    "type" : "object",
    "required": [
       "name"
    ],
    "properties": {
        "name": {
            "type": "string"
        },
        "age": {
            "type": "integer",
            "format": "int32",
            "minimum": 0,
            "nullable": True,
        },
        "birth-date": {
            "type": "string",
            "format": "date",
        }
    },
    "additionalProperties": False,
}

# If no exception is raised by validate(), the instance is valid.
validate({"name": "John", "age": 23}, schema)

validate({"name": "John", "city": "London"}, schema)

Traceback (most recent call last):
    ...
ValidationError: Additional properties are not allowed ('city' was unexpected)

You can also check format for primitive types

from openapi_schema_validator import oas30_format_checker

validate({"name": "John", "birth-date": "-12"}, schema, format_checker=oas30_format_checker)

Traceback (most recent call last):
    ...
ValidationError: '-12' is not a 'date'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openapi-schema-validator-0.2.3.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

openapi_schema_validator-0.2.3-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file openapi-schema-validator-0.2.3.tar.gz.

File metadata

  • Download URL: openapi-schema-validator-0.2.3.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.2 Linux/5.11.0-1027-azure

File hashes

Hashes for openapi-schema-validator-0.2.3.tar.gz
Algorithm Hash digest
SHA256 2c64907728c3ef78e23711c8840a423f0b241588c9ed929855e4b2d1bb0cf5f2
MD5 4dcee3686c744b66b852598abc3b45c1
BLAKE2b-256 690d7ec64ebe984c6c0bb3fe239775bed72c94bcdcf954d091c2565eaf613445

See more details on using hashes here.

File details

Details for the file openapi_schema_validator-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for openapi_schema_validator-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9bae709212a19222892cabcc60cafd903cbf4b220223f48583afa3c0e3cc6fc4
MD5 f63263fae4e9980a00d6a38da24c1aa5
BLAKE2b-256 b372a626e98790e7fd6cb07a1e632c50b310febc094f1f03a9910ba94e9fb8d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page