Skip to main content

No project description provided

Project description

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

About

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

Key features

  • Validation of requests and responses

  • Schema casting and unmarshalling

  • Media type and parameters deserialization

  • Security providers (API keys, Cookie, Basic and Bearer HTTP authentications)

  • Custom deserializers and formats

  • Integration with libraries and frameworks

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):

$ 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

Usage

Firstly create your specification:

from openapi_core import create_spec

spec = create_spec(spec_dict)

Request

Now you can use it to validate requests

from openapi_core.validation.request.validators import RequestValidator

validator = RequestValidator(spec)
result = validator.validate(request)

# raise errors if request invalid
result.raise_for_errors()

# get list of errors
errors = result.errors

and unmarshal request data from validation result

# get parameters object with path, query, cookies and headers parameters
validated_params = result.parameters
# or specific parameters
validated_path_params = result.parameters.path

# get body
validated_body = result.body

# get security data
validated_security = result.security

Request object should be instance of OpenAPIRequest class (See Integrations).

Response

You can also validate responses

from openapi_core.validation.response.validators import ResponseValidator

validator = ResponseValidator(spec)
result = validator.validate(request, response)

# raise errors if response invalid
result.raise_for_errors()

# get list of errors
errors = result.errors

and unmarshal response data from validation result

# get headers
validated_headers = result.headers

# get data
validated_data = result.data

Response object should be instance of OpenAPIResponse class (See Integrations).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openapi-core-0.13.7.tar.gz (33.7 kB view details)

Uploaded Source

Built Distributions

openapi_core-0.13.7-py3-none-any.whl (79.1 kB view details)

Uploaded Python 3

openapi_core-0.13.7-py2-none-any.whl (79.1 kB view details)

Uploaded Python 2

File details

Details for the file openapi-core-0.13.7.tar.gz.

File metadata

  • Download URL: openapi-core-0.13.7.tar.gz
  • Upload date:
  • Size: 33.7 kB
  • Tags: Source
  • 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.56.2 CPython/3.6.12

File hashes

Hashes for openapi-core-0.13.7.tar.gz
Algorithm Hash digest
SHA256 dc9b959e6d6444ac97414be7ee44006bd26a0ac4f633c57116785cfd6f7e27bf
MD5 549d6432542eed2385a5628f06bcd019
BLAKE2b-256 caa203c486c6cfa1a2ce6c720d8afa3ae5324ac8bef88ff7213984b539abb871

See more details on using hashes here.

File details

Details for the file openapi_core-0.13.7-py3-none-any.whl.

File metadata

  • Download URL: openapi_core-0.13.7-py3-none-any.whl
  • Upload date:
  • Size: 79.1 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.56.2 CPython/3.6.12

File hashes

Hashes for openapi_core-0.13.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c19afce48fe616dbbab2a56b5d1b14b604cc0bb37d6769421acfb06243ffb6c1
MD5 24153997fd600ab33259937f0b0cbe9c
BLAKE2b-256 f8861c281729a95fe23a5cd416f50d6819f5f0a4282ac66ba7e98b335e39a7c3

See more details on using hashes here.

File details

Details for the file openapi_core-0.13.7-py2-none-any.whl.

File metadata

  • Download URL: openapi_core-0.13.7-py2-none-any.whl
  • Upload date:
  • Size: 79.1 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.56.2 CPython/2.7.18

File hashes

Hashes for openapi_core-0.13.7-py2-none-any.whl
Algorithm Hash digest
SHA256 087d57a9968a6dc9a59f4fbbbe79a5c97d3a4871833293513599a88822f5d836
MD5 b4d799f21bb19c18764797ab00ef8239
BLAKE2b-256 a955b86754bc65637eb1379ec3b716cd396eaf6e723ac5fdd3514a4f7f3443d6

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