Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-openapi-schema-validator for openSUSE:Factory checked in at 2023-09-26 22:01:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-openapi-schema-validator (Old) and /work/SRC/openSUSE:Factory/.python-openapi-schema-validator.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-openapi-schema-validator" Tue Sep 26 22:01:16 2023 rev:10 rq:1113287 version:0.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-openapi-schema-validator/python-openapi-schema-validator.changes 2023-07-30 20:58:07.451345170 +0200 +++ /work/SRC/openSUSE:Factory/.python-openapi-schema-validator.new.1770/python-openapi-schema-validator.changes 2023-09-26 22:10:31.443587290 +0200 @@ -1,0 +2,6 @@ +Sat Sep 23 10:37:30 UTC 2023 - Ben Greiner <c...@bnavigator.de> + +- Update to 0.6.1 + * Jsonschema package keywords module rename fix #132 + +------------------------------------------------------------------- Old: ---- openapi-schema-validator-0.6.0-gh.tar.gz New: ---- openapi-schema-validator-0.6.1-gh.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-openapi-schema-validator.spec ++++++ --- /var/tmp/diff_new_pack.qcGvmr/_old 2023-09-26 22:10:32.467624268 +0200 +++ /var/tmp/diff_new_pack.qcGvmr/_new 2023-09-26 22:10:32.467624268 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-openapi-schema-validator -Version: 0.6.0 +Version: 0.6.1 Release: 0 Summary: OpenAPI schema validator for Python License: BSD-3-Clause @@ -35,7 +35,7 @@ Requires: (python-jsonschema >= 4.18 with python-jsonschema < 5) BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module jsonschema >= 4.18 with %python-jsonschema < 5} +BuildRequires: %{python_module jsonschema >= 4.19.1 with %python-jsonschema < 5} BuildRequires: %{python_module jsonschema-specifications >= 2023.5.2} BuildRequires: %{python_module pytest} BuildRequires: %{python_module rfc3339-validator} ++++++ openapi-schema-validator-0.6.0-gh.tar.gz -> openapi-schema-validator-0.6.1-gh.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/.bumpversion.cfg new/openapi-schema-validator-0.6.1/.bumpversion.cfg --- old/openapi-schema-validator-0.6.0/.bumpversion.cfg 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/.bumpversion.cfg 2023-09-20 22:01:53.000000000 +0200 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.6.0 +current_version = 0.6.1 tag = True tag_name = {new_version} commit = True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/.github/workflows/build-docs.yml new/openapi-schema-validator-0.6.1/.github/workflows/build-docs.yml --- old/openapi-schema-validator-0.6.0/.github/workflows/build-docs.yml 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/.github/workflows/build-docs.yml 2023-09-20 22:01:53.000000000 +0200 @@ -9,7 +9,7 @@ build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python 3.9 uses: actions/setup-python@v4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/.github/workflows/python-publish.yml new/openapi-schema-validator-0.6.1/.github/workflows/python-publish.yml --- old/openapi-schema-validator-0.6.0/.github/workflows/python-publish.yml 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/.github/workflows/python-publish.yml 2023-09-20 22:01:53.000000000 +0200 @@ -13,7 +13,7 @@ publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/.github/workflows/python-test.yml new/openapi-schema-validator-0.6.1/.github/workflows/python-test.yml --- old/openapi-schema-validator-0.6.0/.github/workflows/python-test.yml 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/.github/workflows/python-test.yml 2023-09-20 22:01:53.000000000 +0200 @@ -17,7 +17,7 @@ python-version: ['3.8', '3.9', '3.10', '3.11'] fail-fast: false steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -67,7 +67,7 @@ runs-on: ubuntu-latest steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: "Setup Python" uses: actions/setup-python@v4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/openapi_schema_validator/__init__.py new/openapi-schema-validator-0.6.1/openapi_schema_validator/__init__.py --- old/openapi-schema-validator-0.6.0/openapi_schema_validator/__init__.py 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/openapi_schema_validator/__init__.py 2023-09-20 22:01:53.000000000 +0200 @@ -8,7 +8,7 @@ __author__ = "Artur Maciag" __email__ = "maciag.ar...@gmail.com" -__version__ = "0.6.0" +__version__ = "0.6.1" __url__ = "https://github.com/python-openapi/openapi-schema-validator" __license__ = "3-clause BSD License" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/openapi_schema_validator/_keywords.py new/openapi-schema-validator-0.6.1/openapi_schema_validator/_keywords.py --- old/openapi-schema-validator-0.6.0/openapi_schema_validator/_keywords.py 1970-01-01 01:00:00.000000000 +0100 +++ new/openapi-schema-validator-0.6.1/openapi_schema_validator/_keywords.py 2023-09-20 22:01:53.000000000 +0200 @@ -0,0 +1,268 @@ +from copy import deepcopy +from typing import Any +from typing import Dict +from typing import Hashable +from typing import ItemsView +from typing import Iterator +from typing import List +from typing import Mapping +from typing import Union + +from jsonschema._keywords import allOf as _allOf +from jsonschema._keywords import anyOf as _anyOf +from jsonschema._keywords import oneOf as _oneOf +from jsonschema._utils import extras_msg +from jsonschema._utils import find_additional_properties +from jsonschema.exceptions import FormatError +from jsonschema.exceptions import ValidationError +from jsonschema.protocols import Validator + + +def handle_discriminator( + validator: Validator, _: Any, instance: Any, schema: Mapping[Hashable, Any] +) -> Iterator[ValidationError]: + """ + Handle presence of discriminator in anyOf, oneOf and allOf. + The behaviour is the same in all 3 cases because at most 1 schema will match. + """ + discriminator = schema["discriminator"] + prop_name = discriminator["propertyName"] + prop_value = instance.get(prop_name) + if not prop_value: + # instance is missing $propertyName + yield ValidationError( + f"{instance!r} does not contain discriminating property {prop_name!r}", + context=[], + ) + return + + # Use explicit mapping if available, otherwise try implicit value + ref = ( + discriminator.get("mapping", {}).get(prop_value) + or f"#/components/schemas/{prop_value}" + ) + + if not isinstance(ref, str): + # this is a schema error + yield ValidationError( + "{!r} mapped value for {!r} should be a string, was {!r}".format( + instance, prop_value, ref + ), + context=[], + ) + return + + try: + validator._validate_reference(ref=ref, instance=instance) + except: + yield ValidationError( + f"{instance!r} reference {ref!r} could not be resolved", + context=[], + ) + return + + yield from validator.descend(instance, {"$ref": ref}) + + +def anyOf( + validator: Validator, + anyOf: List[Mapping[Hashable, Any]], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if "discriminator" not in schema: + yield from _anyOf(validator, anyOf, instance, schema) + else: + yield from handle_discriminator(validator, anyOf, instance, schema) + + +def oneOf( + validator: Validator, + oneOf: List[Mapping[Hashable, Any]], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if "discriminator" not in schema: + yield from _oneOf(validator, oneOf, instance, schema) + else: + yield from handle_discriminator(validator, oneOf, instance, schema) + + +def allOf( + validator: Validator, + allOf: List[Mapping[Hashable, Any]], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if "discriminator" not in schema: + yield from _allOf(validator, allOf, instance, schema) + else: + yield from handle_discriminator(validator, allOf, instance, schema) + + +def type( + validator: Validator, + data_type: str, + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if instance is None: + # nullable implementation based on OAS 3.0.3 + # * nullable is only meaningful if its value is true + # * nullable: true is only meaningful in combination with a type + # assertion specified in the same Schema Object. + # * nullable: true operates within a single Schema Object + if "nullable" in schema and schema["nullable"] == True: + return + yield ValidationError("None for not nullable") + + if not validator.is_type(instance, data_type): + data_repr = repr(data_type) + yield ValidationError(f"{instance!r} is not of type {data_repr}") + + +def format( + validator: Validator, + format: str, + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if instance is None: + return + + if validator.format_checker is not None: + try: + validator.format_checker.check(instance, format) + except FormatError as error: + yield ValidationError(str(error), cause=error.cause) + + +def items( + validator: Validator, + items: Mapping[Hashable, Any], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not validator.is_type(instance, "array"): + return + + for index, item in enumerate(instance): + yield from validator.descend(item, items, path=index) + + +def required( + validator: Validator, + required: List[str], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not validator.is_type(instance, "object"): + return + for property in required: + if property not in instance: + prop_schema = schema.get("properties", {}).get(property) + if prop_schema: + read_only = prop_schema.get("readOnly", False) + write_only = prop_schema.get("writeOnly", False) + if ( + getattr(validator, "write", True) + and read_only + or getattr(validator, "read", True) + and write_only + ): + continue + yield ValidationError(f"{property!r} is a required property") + + +def read_required( + validator: Validator, + required: List[str], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not validator.is_type(instance, "object"): + return + for property in required: + if property not in instance: + prop_schema = schema.get("properties", {}).get(property) + if prop_schema: + write_only = prop_schema.get("writeOnly", False) + if getattr(validator, "read", True) and write_only: + continue + yield ValidationError(f"{property!r} is a required property") + + +def write_required( + validator: Validator, + required: List[str], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not validator.is_type(instance, "object"): + return + for property in required: + if property not in instance: + prop_schema = schema.get("properties", {}).get(property) + if prop_schema: + read_only = prop_schema.get("readOnly", False) + if read_only: + continue + yield ValidationError(f"{property!r} is a required property") + + +def additionalProperties( + validator: Validator, + aP: Union[Mapping[Hashable, Any], bool], + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not validator.is_type(instance, "object"): + return + + extras = set(find_additional_properties(instance, schema)) + + if not extras: + return + + if validator.is_type(aP, "object"): + for extra in extras: + for error in validator.descend(instance[extra], aP, path=extra): + yield error + elif validator.is_type(aP, "boolean"): + if not aP: + error = "Additional properties are not allowed (%s %s unexpected)" + yield ValidationError(error % extras_msg(extras)) + + +def readOnly( + validator: Validator, + ro: bool, + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not getattr(validator, "write", True) or not ro: + return + + yield ValidationError(f"Tried to write read-only property with {instance}") + + +def writeOnly( + validator: Validator, + wo: bool, + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + if not getattr(validator, "read", True) or not wo: + return + + yield ValidationError(f"Tried to read write-only property with {instance}") + + +def not_implemented( + validator: Validator, + value: Any, + instance: Any, + schema: Mapping[Hashable, Any], +) -> Iterator[ValidationError]: + return + yield diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/openapi_schema_validator/_validators.py new/openapi-schema-validator-0.6.1/openapi_schema_validator/_validators.py --- old/openapi-schema-validator-0.6.0/openapi_schema_validator/_validators.py 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/openapi_schema_validator/_validators.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,268 +0,0 @@ -from copy import deepcopy -from typing import Any -from typing import Dict -from typing import Hashable -from typing import ItemsView -from typing import Iterator -from typing import List -from typing import Mapping -from typing import Union - -from jsonschema._utils import extras_msg -from jsonschema._utils import find_additional_properties -from jsonschema._validators import allOf as _allOf -from jsonschema._validators import anyOf as _anyOf -from jsonschema._validators import oneOf as _oneOf -from jsonschema.exceptions import FormatError -from jsonschema.exceptions import ValidationError -from jsonschema.protocols import Validator - - -def handle_discriminator( - validator: Validator, _: Any, instance: Any, schema: Mapping[Hashable, Any] -) -> Iterator[ValidationError]: - """ - Handle presence of discriminator in anyOf, oneOf and allOf. - The behaviour is the same in all 3 cases because at most 1 schema will match. - """ - discriminator = schema["discriminator"] - prop_name = discriminator["propertyName"] - prop_value = instance.get(prop_name) - if not prop_value: - # instance is missing $propertyName - yield ValidationError( - f"{instance!r} does not contain discriminating property {prop_name!r}", - context=[], - ) - return - - # Use explicit mapping if available, otherwise try implicit value - ref = ( - discriminator.get("mapping", {}).get(prop_value) - or f"#/components/schemas/{prop_value}" - ) - - if not isinstance(ref, str): - # this is a schema error - yield ValidationError( - "{!r} mapped value for {!r} should be a string, was {!r}".format( - instance, prop_value, ref - ), - context=[], - ) - return - - try: - validator._validate_reference(ref=ref, instance=instance) - except: - yield ValidationError( - f"{instance!r} reference {ref!r} could not be resolved", - context=[], - ) - return - - yield from validator.descend(instance, {"$ref": ref}) - - -def anyOf( - validator: Validator, - anyOf: List[Mapping[Hashable, Any]], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if "discriminator" not in schema: - yield from _anyOf(validator, anyOf, instance, schema) - else: - yield from handle_discriminator(validator, anyOf, instance, schema) - - -def oneOf( - validator: Validator, - oneOf: List[Mapping[Hashable, Any]], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if "discriminator" not in schema: - yield from _oneOf(validator, oneOf, instance, schema) - else: - yield from handle_discriminator(validator, oneOf, instance, schema) - - -def allOf( - validator: Validator, - allOf: List[Mapping[Hashable, Any]], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if "discriminator" not in schema: - yield from _allOf(validator, allOf, instance, schema) - else: - yield from handle_discriminator(validator, allOf, instance, schema) - - -def type( - validator: Validator, - data_type: str, - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if instance is None: - # nullable implementation based on OAS 3.0.3 - # * nullable is only meaningful if its value is true - # * nullable: true is only meaningful in combination with a type - # assertion specified in the same Schema Object. - # * nullable: true operates within a single Schema Object - if "nullable" in schema and schema["nullable"] == True: - return - yield ValidationError("None for not nullable") - - if not validator.is_type(instance, data_type): - data_repr = repr(data_type) - yield ValidationError(f"{instance!r} is not of type {data_repr}") - - -def format( - validator: Validator, - format: str, - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if instance is None: - return - - if validator.format_checker is not None: - try: - validator.format_checker.check(instance, format) - except FormatError as error: - yield ValidationError(str(error), cause=error.cause) - - -def items( - validator: Validator, - items: Mapping[Hashable, Any], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not validator.is_type(instance, "array"): - return - - for index, item in enumerate(instance): - yield from validator.descend(item, items, path=index) - - -def required( - validator: Validator, - required: List[str], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not validator.is_type(instance, "object"): - return - for property in required: - if property not in instance: - prop_schema = schema.get("properties", {}).get(property) - if prop_schema: - read_only = prop_schema.get("readOnly", False) - write_only = prop_schema.get("writeOnly", False) - if ( - getattr(validator, "write", True) - and read_only - or getattr(validator, "read", True) - and write_only - ): - continue - yield ValidationError(f"{property!r} is a required property") - - -def read_required( - validator: Validator, - required: List[str], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not validator.is_type(instance, "object"): - return - for property in required: - if property not in instance: - prop_schema = schema.get("properties", {}).get(property) - if prop_schema: - write_only = prop_schema.get("writeOnly", False) - if getattr(validator, "read", True) and write_only: - continue - yield ValidationError(f"{property!r} is a required property") - - -def write_required( - validator: Validator, - required: List[str], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not validator.is_type(instance, "object"): - return - for property in required: - if property not in instance: - prop_schema = schema.get("properties", {}).get(property) - if prop_schema: - read_only = prop_schema.get("readOnly", False) - if read_only: - continue - yield ValidationError(f"{property!r} is a required property") - - -def additionalProperties( - validator: Validator, - aP: Union[Mapping[Hashable, Any], bool], - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not validator.is_type(instance, "object"): - return - - extras = set(find_additional_properties(instance, schema)) - - if not extras: - return - - if validator.is_type(aP, "object"): - for extra in extras: - for error in validator.descend(instance[extra], aP, path=extra): - yield error - elif validator.is_type(aP, "boolean"): - if not aP: - error = "Additional properties are not allowed (%s %s unexpected)" - yield ValidationError(error % extras_msg(extras)) - - -def readOnly( - validator: Validator, - ro: bool, - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not getattr(validator, "write", True) or not ro: - return - - yield ValidationError(f"Tried to write read-only property with {instance}") - - -def writeOnly( - validator: Validator, - wo: bool, - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - if not getattr(validator, "read", True) or not wo: - return - - yield ValidationError(f"Tried to read write-only property with {instance}") - - -def not_implemented( - validator: Validator, - value: Any, - instance: Any, - schema: Mapping[Hashable, Any], -) -> Iterator[ValidationError]: - return - yield diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/openapi_schema_validator/validators.py new/openapi-schema-validator-0.6.1/openapi_schema_validator/validators.py --- old/openapi-schema-validator-0.6.0/openapi_schema_validator/validators.py 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/openapi_schema_validator/validators.py 2023-09-20 22:01:53.000000000 +0200 @@ -2,16 +2,16 @@ from typing import Any from typing import Type -from jsonschema import _legacy_validators -from jsonschema import _validators +from jsonschema import _keywords +from jsonschema import _legacy_keywords from jsonschema.validators import Draft202012Validator from jsonschema.validators import create from jsonschema.validators import extend from jsonschema_specifications import REGISTRY as SPECIFICATIONS from openapi_schema_validator import _format as oas_format +from openapi_schema_validator import _keywords as oas_keywords from openapi_schema_validator import _types as oas_types -from openapi_schema_validator import _validators as oas_validators from openapi_schema_validator._types import oas31_type_checker OAS30Validator = create( @@ -19,42 +19,42 @@ "http://json-schema.org/draft-04/schema#", ), validators={ - "multipleOf": _validators.multipleOf, + "multipleOf": _keywords.multipleOf, # exclusiveMaximum supported inside maximum_draft3_draft4 - "maximum": _legacy_validators.maximum_draft3_draft4, + "maximum": _legacy_keywords.maximum_draft3_draft4, # exclusiveMinimum supported inside minimum_draft3_draft4 - "minimum": _legacy_validators.minimum_draft3_draft4, - "maxLength": _validators.maxLength, - "minLength": _validators.minLength, - "pattern": _validators.pattern, - "maxItems": _validators.maxItems, - "minItems": _validators.minItems, - "uniqueItems": _validators.uniqueItems, - "maxProperties": _validators.maxProperties, - "minProperties": _validators.minProperties, - "enum": _validators.enum, + "minimum": _legacy_keywords.minimum_draft3_draft4, + "maxLength": _keywords.maxLength, + "minLength": _keywords.minLength, + "pattern": _keywords.pattern, + "maxItems": _keywords.maxItems, + "minItems": _keywords.minItems, + "uniqueItems": _keywords.uniqueItems, + "maxProperties": _keywords.maxProperties, + "minProperties": _keywords.minProperties, + "enum": _keywords.enum, # adjusted to OAS - "type": oas_validators.type, - "allOf": oas_validators.allOf, - "oneOf": oas_validators.oneOf, - "anyOf": oas_validators.anyOf, - "not": _validators.not_, - "items": oas_validators.items, - "properties": _validators.properties, - "required": oas_validators.required, - "additionalProperties": oas_validators.additionalProperties, + "type": oas_keywords.type, + "allOf": oas_keywords.allOf, + "oneOf": oas_keywords.oneOf, + "anyOf": oas_keywords.anyOf, + "not": _keywords.not_, + "items": oas_keywords.items, + "properties": _keywords.properties, + "required": oas_keywords.required, + "additionalProperties": oas_keywords.additionalProperties, # TODO: adjust description - "format": oas_validators.format, + "format": oas_keywords.format, # TODO: adjust default - "$ref": _validators.ref, + "$ref": _keywords.ref, # fixed OAS fields - "discriminator": oas_validators.not_implemented, - "readOnly": oas_validators.readOnly, - "writeOnly": oas_validators.writeOnly, - "xml": oas_validators.not_implemented, - "externalDocs": oas_validators.not_implemented, - "example": oas_validators.not_implemented, - "deprecated": oas_validators.not_implemented, + "discriminator": oas_keywords.not_implemented, + "readOnly": oas_keywords.readOnly, + "writeOnly": oas_keywords.writeOnly, + "xml": oas_keywords.not_implemented, + "externalDocs": oas_keywords.not_implemented, + "example": oas_keywords.not_implemented, + "deprecated": oas_keywords.not_implemented, }, type_checker=oas_types.oas30_type_checker, format_checker=oas_format.oas30_format_checker, @@ -67,17 +67,17 @@ OAS30ReadValidator = extend( OAS30Validator, validators={ - "required": oas_validators.read_required, - "readOnly": oas_validators.not_implemented, - "writeOnly": oas_validators.writeOnly, + "required": oas_keywords.read_required, + "readOnly": oas_keywords.not_implemented, + "writeOnly": oas_keywords.writeOnly, }, ) OAS30WriteValidator = extend( OAS30Validator, validators={ - "required": oas_validators.write_required, - "readOnly": oas_validators.readOnly, - "writeOnly": oas_validators.not_implemented, + "required": oas_keywords.write_required, + "readOnly": oas_keywords.readOnly, + "writeOnly": oas_keywords.not_implemented, }, ) @@ -85,15 +85,15 @@ Draft202012Validator, { # adjusted to OAS - "allOf": oas_validators.allOf, - "oneOf": oas_validators.oneOf, - "anyOf": oas_validators.anyOf, - "description": oas_validators.not_implemented, + "allOf": oas_keywords.allOf, + "oneOf": oas_keywords.oneOf, + "anyOf": oas_keywords.anyOf, + "description": oas_keywords.not_implemented, # fixed OAS fields - "discriminator": oas_validators.not_implemented, - "xml": oas_validators.not_implemented, - "externalDocs": oas_validators.not_implemented, - "example": oas_validators.not_implemented, + "discriminator": oas_keywords.not_implemented, + "xml": oas_keywords.not_implemented, + "externalDocs": oas_keywords.not_implemented, + "example": oas_keywords.not_implemented, }, type_checker=oas31_type_checker, format_checker=oas_format.oas31_format_checker, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/poetry.lock new/openapi-schema-validator-0.6.1/poetry.lock --- old/openapi-schema-validator-0.6.0/poetry.lock 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/poetry.lock 2023-09-20 22:01:53.000000000 +0200 @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "alabaster" @@ -81,36 +81,33 @@ [[package]] name = "black" -version = "23.3.0" +version = "23.9.1" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "black-23.3.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9"}, - {file = "black-23.3.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2"}, - {file = "black-23.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c"}, - {file = "black-23.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b"}, - {file = "black-23.3.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d"}, - {file = "black-23.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70"}, - {file = "black-23.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326"}, - {file = "black-23.3.0-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b"}, - {file = "black-23.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2"}, - {file = "black-23.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331"}, - {file = "black-23.3.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5"}, - {file = "black-23.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961"}, - {file = "black-23.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"}, - {file = "black-23.3.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266"}, - {file = "black-23.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab"}, - {file = "black-23.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb"}, - {file = "black-23.3.0-py3-none-any.whl", hash = "sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4"}, - {file = "black-23.3.0.tar.gz", hash = "sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:d6bc09188020c9ac2555a498949401ab35bb6bf76d4e0f8ee251694664df6301"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:13ef033794029b85dfea8032c9d3b92b42b526f1ff4bf13b2182ce4e917f5100"}, + {file = "black-23.9.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:75a2dc41b183d4872d3a500d2b9c9016e67ed95738a3624f4751a0cb4818fe71"}, + {file = "black-23.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13a2e4a93bb8ca74a749b6974925c27219bb3df4d42fc45e948a5d9feb5122b7"}, + {file = "black-23.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:adc3e4442eef57f99b5590b245a328aad19c99552e0bdc7f0b04db6656debd80"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:8431445bf62d2a914b541da7ab3e2b4f3bc052d2ccbf157ebad18ea126efb91f"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:8fc1ddcf83f996247505db6b715294eba56ea9372e107fd54963c7553f2b6dfe"}, + {file = "black-23.9.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:7d30ec46de88091e4316b17ae58bbbfc12b2de05e069030f6b747dfc649ad186"}, + {file = "black-23.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:031e8c69f3d3b09e1aa471a926a1eeb0b9071f80b17689a655f7885ac9325a6f"}, + {file = "black-23.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:538efb451cd50f43aba394e9ec7ad55a37598faae3348d723b59ea8e91616300"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:638619a559280de0c2aa4d76f504891c9860bb8fa214267358f0a20f27c12948"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:a732b82747235e0542c03bf352c126052c0fbc458d8a239a94701175b17d4855"}, + {file = "black-23.9.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:cf3a4d00e4cdb6734b64bf23cd4341421e8953615cba6b3670453737a72ec204"}, + {file = "black-23.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf99f3de8b3273a8317681d8194ea222f10e0133a24a7548c73ce44ea1679377"}, + {file = "black-23.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:14f04c990259576acd093871e7e9b14918eb28f1866f91968ff5524293f9c573"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:c619f063c2d68f19b2d7270f4cf3192cb81c9ec5bc5ba02df91471d0b88c4c5c"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:6a3b50e4b93f43b34a9d3ef00d9b6728b4a722c997c99ab09102fd5efdb88325"}, + {file = "black-23.9.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:c46767e8df1b7beefb0899c4a95fb43058fa8500b6db144f4ff3ca38eb2f6393"}, + {file = "black-23.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50254ebfa56aa46a9fdd5d651f9637485068a1adf42270148cd101cdf56e0ad9"}, + {file = "black-23.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:403397c033adbc45c2bd41747da1f7fc7eaa44efbee256b53842470d4ac5a70f"}, + {file = "black-23.9.1-py3-none-any.whl", hash = "sha256:6ccd59584cc834b6d127628713e4b6b968e5f79572da66284532525a042549f9"}, + {file = "black-23.9.1.tar.gz", hash = "sha256:24b6b3ff5c6d9ea08a8888f6977eae858e1f340d7260cf56d70a49823236b62d"}, ] [package.dependencies] @@ -120,7 +117,7 @@ pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -130,13 +127,13 @@ [[package]] name = "certifi" -version = "2023.5.7" +version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.5.7-py3-none-any.whl", hash = "sha256:c6c2e98f5c7869efca1f8916fed228dd91539f9f1b444c314c06eef02980c716"}, - {file = "certifi-2023.5.7.tar.gz", hash = "sha256:0f0d56dc5a6ad56fd4ba36484d6cc34451e1c6548c61daad8c320169f91eddc7"}, + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, ] [[package]] @@ -432,13 +429,13 @@ [[package]] name = "flynt" -version = "0.78" +version = "1.0.1" description = "CLI tool to convert a python project's %-formatted strings to f-strings." optional = false python-versions = ">=3.7" files = [ - {file = "flynt-0.78-py3-none-any.whl", hash = "sha256:3a4cf278518f7dec3af52c94b5e7c395f623186503a684b2ba28705522871e74"}, - {file = "flynt-0.78.tar.gz", hash = "sha256:15082167a538ea56b6ce4ca6874c22c739710759832dda78d8f43b6079b7e646"}, + {file = "flynt-1.0.1-py3-none-any.whl", hash = "sha256:65d1c546434827275123222a98408e9561bcd67db832dd58f530ff17b8329ec1"}, + {file = "flynt-1.0.1.tar.gz", hash = "sha256:988aac00672a5469726cc0a17cef7d1178c284a9fe8563458db2475d0aaed965"}, ] [package.dependencies] @@ -568,13 +565,13 @@ [[package]] name = "jsonschema" -version = "4.18.0" +version = "4.19.1" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.18.0-py3-none-any.whl", hash = "sha256:b508dd6142bd03f4c3670534c80af68cd7bbff9ea830b9cf2625d4a3c49ddf60"}, - {file = "jsonschema-4.18.0.tar.gz", hash = "sha256:8caf5b57a990a98e9b39832ef3cb35c176fe331414252b6e1b26fd5866f891a4"}, + {file = "jsonschema-4.19.1-py3-none-any.whl", hash = "sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e"}, + {file = "jsonschema-4.19.1.tar.gz", hash = "sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf"}, ] [package.dependencies] @@ -591,13 +588,13 @@ [[package]] name = "jsonschema-specifications" -version = "2023.6.1" +version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.6.1-py3-none-any.whl", hash = "sha256:3d2b82663aff01815f744bb5c7887e2121a63399b49b104a3c96145474d091d7"}, - {file = "jsonschema_specifications-2023.6.1.tar.gz", hash = "sha256:ca1c4dd059a9e7b34101cf5b3ab7ff1d18b139f35950d598d629837ef66e8f28"}, + {file = "jsonschema_specifications-2023.7.1-py3-none-any.whl", hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1"}, + {file = "jsonschema_specifications-2023.7.1.tar.gz", hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb"}, ] [package.dependencies] @@ -631,6 +628,16 @@ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -676,37 +683,38 @@ [[package]] name = "mypy" -version = "1.4.1" +version = "1.5.1" description = "Optional static typing for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mypy-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:566e72b0cd6598503e48ea610e0052d1b8168e60a46e0bfd34b3acf2d57f96a8"}, - {file = "mypy-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca637024ca67ab24a7fd6f65d280572c3794665eaf5edcc7e90a866544076878"}, - {file = "mypy-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dde1d180cd84f0624c5dcaaa89c89775550a675aff96b5848de78fb11adabcd"}, - {file = "mypy-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8c4d8e89aa7de683e2056a581ce63c46a0c41e31bd2b6d34144e2c80f5ea53dc"}, - {file = "mypy-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:bfdca17c36ae01a21274a3c387a63aa1aafe72bff976522886869ef131b937f1"}, - {file = "mypy-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7549fbf655e5825d787bbc9ecf6028731973f78088fbca3a1f4145c39ef09462"}, - {file = "mypy-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:98324ec3ecf12296e6422939e54763faedbfcc502ea4a4c38502082711867258"}, - {file = "mypy-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:141dedfdbfe8a04142881ff30ce6e6653c9685b354876b12e4fe6c78598b45e2"}, - {file = "mypy-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8207b7105829eca6f3d774f64a904190bb2231de91b8b186d21ffd98005f14a7"}, - {file = "mypy-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:16f0db5b641ba159eff72cff08edc3875f2b62b2fa2bc24f68c1e7a4e8232d01"}, - {file = "mypy-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:470c969bb3f9a9efcedbadcd19a74ffb34a25f8e6b0e02dae7c0e71f8372f97b"}, - {file = "mypy-1.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5952d2d18b79f7dc25e62e014fe5a23eb1a3d2bc66318df8988a01b1a037c5b"}, - {file = "mypy-1.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:190b6bab0302cec4e9e6767d3eb66085aef2a1cc98fe04936d8a42ed2ba77bb7"}, - {file = "mypy-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9d40652cc4fe33871ad3338581dca3297ff5f2213d0df345bcfbde5162abf0c9"}, - {file = "mypy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01fd2e9f85622d981fd9063bfaef1aed6e336eaacca00892cd2d82801ab7c042"}, - {file = "mypy-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2460a58faeea905aeb1b9b36f5065f2dc9a9c6e4c992a6499a2360c6c74ceca3"}, - {file = "mypy-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2746d69a8196698146a3dbe29104f9eb6a2a4d8a27878d92169a6c0b74435b6"}, - {file = "mypy-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae704dcfaa180ff7c4cfbad23e74321a2b774f92ca77fd94ce1049175a21c97f"}, - {file = "mypy-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:43d24f6437925ce50139a310a64b2ab048cb2d3694c84c71c3f2a1626d8101dc"}, - {file = "mypy-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c482e1246726616088532b5e964e39765b6d1520791348e6c9dc3af25b233828"}, - {file = "mypy-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:43b592511672017f5b1a483527fd2684347fdffc041c9ef53428c8dc530f79a3"}, - {file = "mypy-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34a9239d5b3502c17f07fd7c0b2ae6b7dd7d7f6af35fbb5072c6208e76295816"}, - {file = "mypy-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5703097c4936bbb9e9bce41478c8d08edd2865e177dc4c52be759f81ee4dd26c"}, - {file = "mypy-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e02d700ec8d9b1859790c0475df4e4092c7bf3272a4fd2c9f33d87fac4427b8f"}, - {file = "mypy-1.4.1-py3-none-any.whl", hash = "sha256:45d32cec14e7b97af848bddd97d85ea4f0db4d5a149ed9676caa4eb2f7402bb4"}, - {file = "mypy-1.4.1.tar.gz", hash = "sha256:9bbcd9ab8ea1f2e1c8031c21445b511442cc45c89951e49bbf852cbb70755b1b"}, + {file = "mypy-1.5.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f33592ddf9655a4894aef22d134de7393e95fcbdc2d15c1ab65828eee5c66c70"}, + {file = "mypy-1.5.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:258b22210a4a258ccd077426c7a181d789d1121aca6db73a83f79372f5569ae0"}, + {file = "mypy-1.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9ec1f695f0c25986e6f7f8778e5ce61659063268836a38c951200c57479cc12"}, + {file = "mypy-1.5.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:abed92d9c8f08643c7d831300b739562b0a6c9fcb028d211134fc9ab20ccad5d"}, + {file = "mypy-1.5.1-cp310-cp310-win_amd64.whl", hash = "sha256:a156e6390944c265eb56afa67c74c0636f10283429171018446b732f1a05af25"}, + {file = "mypy-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6ac9c21bfe7bc9f7f1b6fae441746e6a106e48fc9de530dea29e8cd37a2c0cc4"}, + {file = "mypy-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51cb1323064b1099e177098cb939eab2da42fea5d818d40113957ec954fc85f4"}, + {file = "mypy-1.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:596fae69f2bfcb7305808c75c00f81fe2829b6236eadda536f00610ac5ec2243"}, + {file = "mypy-1.5.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:32cb59609b0534f0bd67faebb6e022fe534bdb0e2ecab4290d683d248be1b275"}, + {file = "mypy-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:159aa9acb16086b79bbb0016145034a1a05360626046a929f84579ce1666b315"}, + {file = "mypy-1.5.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f6b0e77db9ff4fda74de7df13f30016a0a663928d669c9f2c057048ba44f09bb"}, + {file = "mypy-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26f71b535dfc158a71264e6dc805a9f8d2e60b67215ca0bfa26e2e1aa4d4d373"}, + {file = "mypy-1.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc3a600f749b1008cc75e02b6fb3d4db8dbcca2d733030fe7a3b3502902f161"}, + {file = "mypy-1.5.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:26fb32e4d4afa205b24bf645eddfbb36a1e17e995c5c99d6d00edb24b693406a"}, + {file = "mypy-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:82cb6193de9bbb3844bab4c7cf80e6227d5225cc7625b068a06d005d861ad5f1"}, + {file = "mypy-1.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4a465ea2ca12804d5b34bb056be3a29dc47aea5973b892d0417c6a10a40b2d65"}, + {file = "mypy-1.5.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9fece120dbb041771a63eb95e4896791386fe287fefb2837258925b8326d6160"}, + {file = "mypy-1.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d28ddc3e3dfeab553e743e532fb95b4e6afad51d4706dd22f28e1e5e664828d2"}, + {file = "mypy-1.5.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:57b10c56016adce71fba6bc6e9fd45d8083f74361f629390c556738565af8eeb"}, + {file = "mypy-1.5.1-cp38-cp38-win_amd64.whl", hash = "sha256:ff0cedc84184115202475bbb46dd99f8dcb87fe24d5d0ddfc0fe6b8575c88d2f"}, + {file = "mypy-1.5.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8f772942d372c8cbac575be99f9cc9d9fb3bd95c8bc2de6c01411e2c84ebca8a"}, + {file = "mypy-1.5.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d627124700b92b6bbaa99f27cbe615c8ea7b3402960f6372ea7d65faf376c14"}, + {file = "mypy-1.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:361da43c4f5a96173220eb53340ace68cda81845cd88218f8862dfb0adc8cddb"}, + {file = "mypy-1.5.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:330857f9507c24de5c5724235e66858f8364a0693894342485e543f5b07c8693"}, + {file = "mypy-1.5.1-cp39-cp39-win_amd64.whl", hash = "sha256:c543214ffdd422623e9fedd0869166c2f16affe4ba37463975043ef7d2ea8770"}, + {file = "mypy-1.5.1-py3-none-any.whl", hash = "sha256:f757063a83970d67c444f6e01d9550a7402322af3557ce7630d3c957386fa8f5"}, + {file = "mypy-1.5.1.tar.gz", hash = "sha256:b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"}, ] [package.dependencies] @@ -717,7 +725,6 @@ [package.extras] dmypy = ["psutil (>=4.0)"] install-types = ["pip"] -python2 = ["typed-ast (>=1.4.0,<2)"] reports = ["lxml"] [[package]] @@ -810,13 +817,13 @@ [[package]] name = "pre-commit" -version = "3.3.3" +version = "3.4.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.8" files = [ - {file = "pre_commit-3.3.3-py2.py3-none-any.whl", hash = "sha256:10badb65d6a38caff29703362271d7dca483d01da88f9d7e05d0b97171c136cb"}, - {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"}, + {file = "pre_commit-3.4.0-py2.py3-none-any.whl", hash = "sha256:96d529a951f8b677f730a7212442027e8ba53f9b04d217c4c67dc56c393ad945"}, + {file = "pre_commit-3.4.0.tar.gz", hash = "sha256:6bbd5129a64cad4c0dfaeeb12cd8f7ea7e15b77028d985341478c8af3c759522"}, ] [package.dependencies] @@ -1013,13 +1020,13 @@ [[package]] name = "pytest" -version = "7.4.0" +version = "7.4.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"}, - {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"}, + {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, + {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, ] [package.dependencies] @@ -1322,13 +1329,13 @@ [[package]] name = "sphinx" -version = "7.0.1" +version = "7.1.2" description = "Python documentation generator" optional = false python-versions = ">=3.8" files = [ - {file = "Sphinx-7.0.1.tar.gz", hash = "sha256:61e025f788c5977d9412587e733733a289e2b9fdc2fef8868ddfbfc4ccfe881d"}, - {file = "sphinx-7.0.1-py3-none-any.whl", hash = "sha256:60c5e04756c1709a98845ed27a2eed7a556af3993afb66e77fec48189f742616"}, + {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, + {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, ] [package.dependencies] @@ -1357,13 +1364,13 @@ [[package]] name = "sphinx-immaterial" -version = "0.11.5" +version = "0.11.7" description = "Adaptation of mkdocs-material theme for the Sphinx documentation system" optional = false python-versions = ">=3.8" files = [ - {file = "sphinx_immaterial-0.11.5-py3-none-any.whl", hash = "sha256:f9fe0a3afca7edd530656afa08303bfb7338d03164da173a0e1bc68d0d1adad6"}, - {file = "sphinx_immaterial-0.11.5.tar.gz", hash = "sha256:fbd697cba07212a359e42bc24e6effcbbfe97e17411d4e874768028bc7bcd407"}, + {file = "sphinx_immaterial-0.11.7-py3-none-any.whl", hash = "sha256:2166b8272e1dbf2c2fd93c801c6db24e1d7168c5c7283159bf0e8ee713166c02"}, + {file = "sphinx_immaterial-0.11.7.tar.gz", hash = "sha256:619075d7d5edd03bc92a1bbf9bab68675cf52cf43965b1d6607222881a15d88c"}, ] [package.dependencies] @@ -1551,4 +1558,4 @@ [metadata] lock-version = "2.0" python-versions = "^3.8.0" -content-hash = "58227f16f27b5307ac8b78929392052f9c1a605c269d6bddf0861e7037da3f2d" +content-hash = "aaf6d06196e45abedeb1fdb9852cc747a1b1c839db9b7bffe26000eb9257dae0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openapi-schema-validator-0.6.0/pyproject.toml new/openapi-schema-validator-0.6.1/pyproject.toml --- old/openapi-schema-validator-0.6.0/pyproject.toml 2023-07-09 13:12:42.000000000 +0200 +++ new/openapi-schema-validator-0.6.1/pyproject.toml 2023-09-20 22:01:53.000000000 +0200 @@ -30,7 +30,7 @@ [tool.poetry] name = "openapi-schema-validator" -version = "0.6.0" +version = "0.6.1" description = "OpenAPI schema validation for Python" authors = ["Artur Maciag <maciag.ar...@gmail.com>"] license = "BSD-3-Clause" @@ -55,7 +55,7 @@ [tool.poetry.dependencies] python = "^3.8.0" -jsonschema = "^4.18.0" +jsonschema = "^4.19.1" rfc3339-validator = "*" # requred by jsonschema for date-time checker jsonschema-specifications = "^2023.5.2" @@ -63,14 +63,14 @@ docs = ["sphinx", "sphinx-immaterial"] [tool.poetry.dev-dependencies] -black = "^23.3.0" +black = "^23.9.1" isort = "^5.9.1" pre-commit = "*" pytest = "^7" pytest-flake8 = "*" pytest-cov = "*" -mypy = "^1.4" -flynt = "^0.78" +mypy = "^1.5" +flynt = "^1.0" deptry = "^0.12.0" [tool.poetry.group.docs.dependencies]