Skip to main content

OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0.0 spec validator

Project description

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

About

OpenAPI Spec Validator is a Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0.0 specification. The validator aims to check for full compliance with the Specification.

Installation

$ pip install openapi-spec-validator

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

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

Usage

Command Line Interface

Straight forward way:

$ openapi-spec-validator openapi.yaml

pipes way:

$ cat openapi.yaml | openapi-spec-validator -

docker way:

$ docker run -v path/to/openapi.yaml:/openapi.yaml --rm p1c2u/openapi-spec-validator /openapi.yaml

or more pythonic way:

$ python -m openapi_spec_validator openapi.yaml

Examples

Validate spec:

from openapi_spec_validator import validate_spec
from openapi_spec_validator.readers import read_from_filename

spec_dict, spec_url = read_from_filename('openapi.yaml')

# If no exception is raised by validate_spec(), the spec is valid.
validate_spec(spec_dict)

validate_spec({})

Traceback (most recent call last):
    ...
OpenAPIValidationError: 'openapi' is a required property

Add spec_url to validate spec with relative files:

validate_spec(spec_dict, spec_url='file:///path/to/spec/openapi.yaml')

You can also validate spec from url:

from openapi_spec_validator import validate_spec_url

# If no exception is raised by validate_spec_url(), the spec is valid.
validate_spec_url('http://example.com/openapi.json')

If you want to iterate through validation errors:

from openapi_spec_validator import openapi_v3_spec_validator

errors_iterator = openapi_v3_spec_validator.iter_errors(spec)

License

Copyright (c) 2017-2021, Artur Maciag, All rights reserved. Apache v2

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-spec-validator-0.3.0.tar.gz (26.9 kB view details)

Uploaded Source

Built Distributions

openapi_spec_validator-0.3.0-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

openapi_spec_validator-0.3.0-py2-none-any.whl (31.7 kB view details)

Uploaded Python 2

File details

Details for the file openapi-spec-validator-0.3.0.tar.gz.

File metadata

  • Download URL: openapi-spec-validator-0.3.0.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/2.7.18

File hashes

Hashes for openapi-spec-validator-0.3.0.tar.gz
Algorithm Hash digest
SHA256 53ba3d884e98ff2062d5ada025aa590541dcd665b8f81067dc82dd61c0923759
MD5 b317ab84db0351a579ad4b7d0717cec8
BLAKE2b-256 b36dfcfaed0b09cf26f37dcd99070d672b80a77fd89e6a995e899e9317db7b5a

See more details on using hashes here.

File details

Details for the file openapi_spec_validator-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: openapi_spec_validator-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.6.13

File hashes

Hashes for openapi_spec_validator-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4083fc5aac3e9f751c2a82d4ec5cf3adad5f967d0faf31495d8b56a0b0f9705c
MD5 5f441cacdbb17274e135b967534b8729
BLAKE2b-256 9c50f1c761692659d5c79867d6dbbf8af323564865a121aefe52c983cb2acbb7

See more details on using hashes here.

File details

Details for the file openapi_spec_validator-0.3.0-py2-none-any.whl.

File metadata

  • Download URL: openapi_spec_validator-0.3.0-py2-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/2.7.18

File hashes

Hashes for openapi_spec_validator-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 e11df7c559339027bd04f2399bc82474983129a6a7a6a0421eaa95e2c844d686
MD5 2082950bc26a3d0713ee93ffe9148216
BLAKE2b-256 33294787b4d154a0f09c9347c079b3924b494028ad92f9cf4cf21102c3a57767

See more details on using hashes here.

Supported by

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