Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork136
Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification.
License
python-openapi/openapi-core
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Openapi-core is a Python library that adds client-side and server-side supportfor theOpenAPI v3.0andOpenAPI v3.1 specification.
- Validation of requests and responses
- Schemacasting andunmarshalling
- Media type and parametersdeserialization
- Security providers (API keys, Cookie, Basic and Bearer HTTP authentications)
- Customdeserializers andformats
- Integration with libraries and frameworks
Check documentation to see more details about the features. All documentation is in the "docs" directory and online atopenapi-core.readthedocs.io
Recommended way (via pip):
$ pip install openapi-core
Alternatively you can download the code and install from the repository:
$ pip install -e git+https://github.com/p1c2u/openapi-core.git#egg=openapi_core
Firstly create your specification object.
fromopenapi_coreimportSpecspec=Spec.from_file_path('openapi.json')
Now you can use it to validate against requests and/or responses.
Usevalidate_request
function to validate request against a given spec.
fromopenapi_coreimportvalidate_request# raise error if request is invalidresult=validate_request(request,spec=spec)
Retrieve request data from validation result
# get parameters object with path, query, cookies and headers parametersvalidated_params=result.parameters# or specific parametersvalidated_path_params=result.parameters.path# get bodyvalidated_body=result.body# get security datavalidated_security=result.security
Request object should implement OpenAPI Request protocol (SeeIntegrations).
Usevalidate_response
function to validate response against a given spec.
fromopenapi_coreimportvalidate_response# raise error if response is invalidresult=validate_response(request,response,spec=spec)
and unmarshal response data from validation result
# get headersvalidated_headers=result.headers# get datavalidated_data=result.data
Response object should implement OpenAPI Response protocol (SeeIntegrations).
In order to explicitly validate a:
- OpenAPI 3.0 spec, import
V30RequestValidator
orV30ResponseValidator
- OpenAPI 3.1 spec, import
V31RequestValidator
orV31ResponseValidator
fromopenapi_coreimportV31ResponseValidatorresult=validate_response(request,response,spec=spec,cls=V31ResponseValidator)
You can also explicitly importV3RequestValidator
orV3ResponseValidator
which is a shortcut to the latest v3 release.
- bottle-openapi-3
- OpenAPI 3.0 Support for the Bottle Web Framework
- openapi-spec-validator
- Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger) and OpenAPI 3.0 specification
- openapi-schema-validator
- Python library that validates schema against the OpenAPI Schema Specification v3.0.
- pyramid_openapi3
- Pyramid addon for OpenAPI3 validation of requests and responses.
- tornado-openapi3
- Tornado OpenAPI 3 request and response validation library.
About
Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification.
Topics
Resources
License
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.