GitHub - python-openapi/openapi-core: Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification. (original) (raw)

openapi-core

Package version Continuous Integration Tests coverage Python versions Package format Development status

About

Openapi-core is a Python library that provides client-side and server-side support for the OpenAPI v3.0and OpenAPI v3.1 specifications.

Key features

Documentation

Check documentation to see more details about the features. All documentation is in the "docs" directory and online at openapi-core.readthedocs.io

Installation

Recommended way (via pip):

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

pip install -e git+https://github.com/python-openapi/openapi-core.git#egg=openapi_core

First steps

First, create your OpenAPI object.

from openapi_core import OpenAPI

openapi = OpenAPI.from_file_path('openapi.json')

Now you can use it to validate and unmarshal against requests and/or responses.

raises an error if the request is invalid

result = openapi.unmarshal_request(request)

Retrieve validated and unmarshalled request data.

get parameters

path_params = result.parameters.path query_params = result.parameters.query cookies_params = result.parameters.cookies headers_params = result.parameters.headers

get body

body = result.body

get security data

security = result.security

The request object should implement the OpenAPI Request protocol. Check Integrations to find officially supported implementations.

For more details read about the Unmarshalling process.

If you just want to validate your request/response data without unmarshalling, read about Validation instead.

License

The project is under the terms of the BSD 3-Clause License.