Skip to content

Latest commit

 

History

History
96 lines (64 loc) · 2.93 KB

index.rst

File metadata and controls

96 lines (64 loc) · 2.93 KB

openapi-core

.. toctree::
    :hidden:
    :maxdepth: 2

    unmarshalling
    validation
    integrations
    customizations
    security
    extensions
    contributing

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

Key features

Installation

.. md-tab-set::

    .. md-tab-item:: Pip + PyPI (recommented)

      .. code-block:: console

         pip install openapi-core

    .. md-tab-item:: Pip + the source

      .. code-block:: console

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

First steps

Firstly create your specification object.

from jsonschema_path import SchemaPath

spec = SchemaPath.from_file_path('openapi.json')

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

from openapi_core import unmarshal_request

# raises error if request is invalid
result = unmarshal_request(request, spec=spec)

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

Request object should implement OpenAPI Request protocol. Check :doc:`integrations` to find oficially supported implementations.

For more details read about :doc:`unmarshalling` process.

If you just want to validate your request/response data without unmarshalling, read about :doc:`validation` instead.

Related projects

  • openapi-spec-validator
    Python library that validates OpenAPI Specs against the OpenAPI 2.0 (aka Swagger), OpenAPI 3.0 and OpenAPI 3.1 specification. The validator aims to check for full compliance with the Specification.
  • openapi-schema-validator
    Python library that validates schema against the OpenAPI Schema Specification v3.0 and OpenAPI Schema Specification v3.1.

License

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