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.

BSD-3-CLAUSE License

Downloads
667.6K
Stars
279
Committers
70

Bot releases are visible (Hide)

openapi-core - 0.16.0

Published by p1c2u about 2 years ago

Changelog

  • Switch to jsonschema-spec #416
  • Use auto-detect validator proxy #418
  • OpenAPI 3.1 support + Auto-detect proxies and request / response validator protocols #419
  • Add py.typed to mark package as supporting typing #420
  • Refuse to cast str or bytes to array #421
  • x-model extension import model class #422
  • Add deepObject support #379
  • Add anyOf support #423
  • Separate werkzeug support #426
  • Starlette support #427
openapi-core - 0.15.0

Published by p1c2u about 2 years ago

Changelog

  • Parameter deserialize complex scenario support (#329)
  • Response headers support (#332)
  • Response headers support for contrib (#333)
  • Drop python 2.7 support (#335 #344 #351)
  • Drop python 3.5 support (#339)
  • Drop python 3.6 support #383
  • Add python 3.10 support #383
  • Falcon2 support drop (#353)
  • Django2 support drop (#358)
  • Support basic re_path for Django integration (#337)
  • unused NoValue type removed (#340)
  • attrs remove and use dataclasses backport for python 3.6 (#345)
  • Request validation parameters dataclass (#346)
  • Handle missing MIME type in MediaTypeFinder (#371)
  • Limit openapi dependencies upper bounds #386
  • switch to pathable #389
  • Get rid of create_spec shortcut #393
  • Request and Response protocols #407
  • validator factories removed from validation shortcuts #408
  • Predefined openapi validators #409
  • Customization refactor #412
  • Static types with mypy #414

Backward incompatibilities

  • Python 3.6 and earlier no longer supported
  • headers attribute added to OpenAPIResponse datatype
  • RequestParameters' header attribute as Headers type
  • RequestParameters' cookie attribute as ImmutableMultiDict type
  • RequestValidationResult' parameters attribute as Parameters type
  • unused server, operation and path attributes removed from RequestValidationResult
  • EmptyParameterValue exception renamed to EmptyQueryParameterValue
  • FalconOpenAPIRequestFactory requires to be instantiated
  • create_spec shortcut replaced with Spec.create
  • OpenAPIRequest and OpenAPIResponse removed. All backward compabilities fromcontrib removed.
  • spec_validate_* shortcuts removed. Use validate_request and validate_response with validator parameter instead.
  • validate_{parameters,body,security} shortcuts removed. Use predefined openapi_request_parameters_validator, openapi_request_body_validator and openapi_request_security_validator from openapi_core.validation.request instead.
  • validate_{data,headers} shortcuts removed. Use predefined openapi_response_data_validator and openapi_response_headers_validator from openapi_core.validation.response instead.
  • custom_media_type_deserializers parameter for RequestValidator and ResponseValidator removed. Use MediaTypeDeserializersFactory with custom_deserializers parameter and pass it to validator with media_type_deserializers_factory parameter.
  • custom_formatters parameter for RequestValidator and ResponseValidator removed. Use SchemaUnmarshallersFactory with custom_formatters parameter and pass it to validator.
openapi-core - 0.15.0a2

Published by p1c2u about 2 years ago

Changelog

  • Request and Response protocols #407
  • validator factories removed from validation shortcuts #408
  • Predefined openapi validators #409
  • Customization refactor #412

Backward incompatibilities

  • OpenAPIRequest and OpenAPIResponse removed. All backward compabilities fromcontrib removed.
  • spec_validate_* shortcuts removed. Use validate_request and validate_response with validator parameter instead.
  • validate_{parameters,body,security} shortcuts removed. Use predefined openapi_request_parameters_validator, openapi_request_body_validator and openapi_request_security_validator from openapi_core.validation.request instead.
  • validate_{data,headers} shortcuts removed. Use predefined openapi_response_data_validator and openapi_response_headers_validator from openapi_core.validation.response instead.
  • custom_media_type_deserializers parameter for RequestValidator and ResponseValidator removed. Use MediaTypeDeserializersFactory with custom_deserializers parameter and pass it to validator with media_type_deserializers_factory parameter.
  • custom_formatters parameter for RequestValidator and ResponseValidator removed. Use SchemaUnmarshallersFactory with custom_formatters parameter and pass it to validator.
openapi-core - 0.14.5

Published by p1c2u about 2 years ago

Changelog

  • openapi-spec-validator strict requirement fix #406
openapi-core - 0.14.4

Published by p1c2u about 2 years ago

Changelog

  • pyyaml strict requirement fix #404
openapi-core - 0.14.3

Published by p1c2u about 2 years ago

Changelog

  • pin openapi dependencies #403
openapi-core - 0.15.0a1

Published by p1c2u over 2 years ago

Changelog

  • Parameter deserialize complex scenario support (#329)
  • Response headers support (#332)
  • Response headers support for contrib (#333)
  • Drop python 2.7 support (#335 #344 #351)
  • Drop python 3.5 support (#339)
  • Drop python 3.6 support #383
  • Add python 3.10 support #383
  • Falcon2 support drop (#353)
  • Django2 support drop (#358)
  • Support basic re_path for Django integration (#337)
  • unused NoValue type removed (#340)
  • attrs remove and use dataclasses backport for python 3.6 (#345)
  • Request validation parameters dataclass (#346)
  • Handle missing MIME type in MediaTypeFinder (#371)
  • Limit openapi dependencies upper bounds #386
  • switch to pathable #389
  • Get rid of create_spec shortcut #393

Backward incompatibilities

  • Python 3.6 and earlier no longer supported
  • headers attribute added to OpenAPIResponse datatype
  • RequestParameters' header attribute as Headers type
  • RequestParameters' cookie attribute as ImmutableMultiDict type
  • RequestValidationResult' parameters attribute as Parameters type
  • unused server, operation and path attributes removed from RequestValidationResult
  • EmptyParameterValue exception renamed to EmptyQueryParameterValue
  • FalconOpenAPIRequestFactory requires to be instantiated
  • create_spec shortcut replaced with Spec.create
openapi-core - 0.14.2

Published by p1c2u over 3 years ago

Changelog

  • Non required request body fix (#325)
openapi-core - 0.14.1

Published by p1c2u over 3 years ago

Changelog

  • Parameter simple scenarion for any schema type fix (#323)
openapi-core - 0.14.0

Published by p1c2u over 3 years ago

openapi-core 0.14 is scheduled to be the last major version in the 0.x series.

This release introduces SpecPath which reduces spec creation time and allows to get rid of big schema package

Changes:

  • Spec replaced with SpecPath (#318)

Backward incompatibilities:

  • create_spec shortcut returns SpecPath instead of Spec
  • removed Spec-related schema package
  • schema-related exceptions moved to top level exceptions module
  • readOnly/writeOnly invalid properties raise error (before were ommitted)
  • MediaTypeDeserializersFactory.create expects mimetype string instead of media_type
  • MediaTypeFinder.find returns media_type, mimetype tuple instead of just media_type
openapi-core - 0.13.8

Published by p1c2u over 3 years ago

Changelog

  • use prepared request to format payload before converting (#271)
  • deserialize form urlencoded media type (#302)
  • deserialize data form media type (#303)
  • Media type finder (#307)
  • Add extensions support for the Parameter model (#308)
  • Response finder (#309)
  • Falcon3 support (#316)
openapi-core - 0.13.7

Published by p1c2u over 3 years ago

Changelog

  • Any unmarshaller validate fix (#295)
  • Spec validation customization (#290)
  • Format checker deepcopy to shallowcopy (#291)
  • Format checker on validation scope (#292)
  • Basic documentation (#293)
openapi-core - 0.13.6

Published by p1c2u over 3 years ago

Changelog

  • Remove security on operation level fix (#284)
  • AnyUnmarshaller use allOf schemas (#286)
openapi-core - 0.13.5

Published by p1c2u over 3 years ago

Changelog

  • prioritize concrete paths fix (#273)
  • return None on nullable array type (#276)
openapi-core - 0.13.4

Published by p1c2u over 4 years ago

Changelog

  • Paths finder relative url and simple paths check fix (#222)
  • Add documentation for custom formatters (#228)
  • Fix Requests.response factory (#227)
  • Case insensitive headers fix (#236)
  • Security HTTP provider fix (#225)
  • Unmarshalling nullable objects (#239)
  • Date-time format unmarshal tz fix (#237)
  • Templating parser path parameter search fix (#245)
  • Fix the Falcon integration to properly handle URLs with query strings. (#233)
openapi-core - 0.13.3

Published by p1c2u over 4 years ago

Changelog

  • Path patterns finder (#202) - server and path with variables resolving
  • Requests integration (#209)
  • b64decode issue29427 fix (#210)
  • Extensible schema models (#211)
  • Use openapi-schema-validator library (#212)
  • Fix to force ConfigParser to correctly parse extra requirements (#214)
  • Falcon integration (#215)
openapi-core - 0.13.2

Published by p1c2u over 4 years ago

Changelog

  • werkzeug missing dependency fix (#203)
openapi-core - 0.13.1

Published by p1c2u over 4 years ago

Changelog

  • Flask error handler status fix (#199)
  • Validators shortcuts fix (#200)
openapi-core - 0.13.0

Published by p1c2u over 4 years ago

Changelog

  • Validation result datatypes (#165)
  • OpenAPI request/response factories introduction (#166)
  • Django OpenAPI request/response factories (#167)
  • Schema exceptions refactor (#168)
  • Operations fields (#169)
  • Validation schema errors iter fix (#170)
  • webob support (#173)
  • CVE-2019-19844 fix (#182)
  • Move Unmarshallers to separate subpackage (#183)
  • Flask OpenAPI view & decorator (#177)
  • Flask OpenAPI request parameters (#185)
  • Move casters to separate subpackage (#184)
  • Move schema validator to separate subpackage (#186)
  • Move unmarshal out of schema models (#188)
  • Deserialise models without schema fix (#190)
  • Move deserialize/cast out of schema models (#191)
  • Custom media type deserializers (#192)
  • Missing Info models (#193)
  • Free-form objects unmarshal (#194)
  • Security validation with API Key and HTTP security types support (#195)
  • Missing path model fields (#196)
  • OpenAPI request datatype refactor (#197)
  • readOnly and writeOnly support (#152)

Backward incompatibility

  • new datatype RequestParameters. That means parameters in RequestValidationResult is no longer dict type but you can still access parameter types (path, query, heder, cookie) lika a dict.
  • validate_body, validate_parameters and validate_data no longer accept wrapper_class, request_wrapper_class and response_wrapper_class keyword arguments. Use request_factory and response_factory instead.
  • openapi_core.wrappers.flask module moved to openapi_core.contrib.flask
  • openapi_core.wrappers.mock module moved to openapi_core.testing.mock
  • validation is now part of unmarshalling process
  • strict parameter removed
  • standardized formatting process with Formatter class. Custom formatters should inherit from the class.
  • unmarshalling process no longer raise InvalidMediaTypeValue and InvalidParameterValue exceptions
  • casting process no longer raise InvalidParameterValue exception
  • deserializing process no longer raise InvalidMediaTypeValue exception
  • OpenAPIRequest 's host_url and path_pattern attributes replaced with full_url_pattern attribute
openapi-core - 0.12.0

Published by p1c2u about 5 years ago

This release contains new Open API schema validation based on jsonschema (OAS Validator).

Changelog

  • OAS validation with JSONSchema (#157)
Package Rankings
Top 2.01% on Pypi.org
Related Projects