Skip to main content

openapi-schema-validator

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'

Release files for openapi-schema-validator 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openapi-schema-validator 0.2.3
File Size Uploaded
openapi-schema-validator-0.2.3.tar.gz 7.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openapi-schema-validator 0.2.3
File Interpreter ABI Platform
openapi_schema_validator-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 15.8 kB

Release files / openapi-schema-validator-0.2.3.tar.gz

Download URL openapi-schema-validator-0.2.3.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2c64907728c3ef78e23711c8840a423f0b241588c9ed929855e4b2d1bb0cf5f2
BLAKE2b-256 checksum
How to use checksums
690d7ec64ebe984c6c0bb3fe239775bed72c94bcdcf954d091c2565eaf613445
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.2 Linux/5.11.0-1027-azure

Release files / openapi_schema_validator-0.2.3-py3-none-any.whl

Download URL openapi_schema_validator-0.2.3-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9bae709212a19222892cabcc60cafd903cbf4b220223f48583afa3c0e3cc6fc4
BLAKE2b-256 checksum
How to use checksums
b372a626e98790e7fd6cb07a1e632c50b310febc094f1f03a9910ba94e9fb8d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.2 Linux/5.11.0-1027-azure
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page