Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/python-openapi/openapi-schema-validator
OpenAPI schema validator is a Python library that validates schema against OpenAPI Schema Specification v3.0 and v3.1
https://github.com/python-openapi/openapi-schema-validator
oas oas3 openapi openapi3 openapi31 python python-library schema swagger validation
Last synced: 15 days ago
JSON representation
OpenAPI schema validator is a Python library that validates schema against OpenAPI Schema Specification v3.0 and v3.1
- Host: GitHub
- URL: https://github.com/python-openapi/openapi-schema-validator
- Owner: python-openapi
- License: bsd-3-clause
- Created: 2020-03-05T09:23:39.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T20:52:15.000Z (3 months ago)
- Last Synced: 2024-10-29T17:29:11.760Z (16 days ago)
- Topics: oas, oas3, openapi, openapi3, openapi31, python, python-library, schema, swagger, validation
- Language: Python
- Homepage:
- Size: 751 KB
- Stars: 100
- Watchers: 5
- Forks: 31
- Open Issues: 16
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this 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-validatorAbout
#####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