Our `jsonschema` external won't support Python 3.10, so we need to upgrade it.
It currently generates this warning:
lib/spack/external/jsonschema/compat.py:6: DeprecationWarning: Using or importing the ABCs
from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and
in 3.10 it will stop working
This upgrades `jsonschema` to 3.2.0, the latest version with support for Python 2.7. The next
version after this (4.0.0) drops support for 2.7 and 3.6, so we'll have to wait to upgrade to it.
Dependencies have been added in prior commits.
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""
|
|
An implementation of JSON Schema for Python
|
|
|
|
The main functionality is provided by the validator classes for each of the
|
|
supported JSON Schema versions.
|
|
|
|
Most commonly, `validate` is the quickest way to simply validate a given
|
|
instance under a schema, and will create a validator for you.
|
|
"""
|
|
|
|
from jsonschema.exceptions import (
|
|
ErrorTree, FormatError, RefResolutionError, SchemaError, ValidationError
|
|
)
|
|
from jsonschema._format import (
|
|
FormatChecker,
|
|
draft3_format_checker,
|
|
draft4_format_checker,
|
|
draft6_format_checker,
|
|
draft7_format_checker,
|
|
)
|
|
from jsonschema._types import TypeChecker
|
|
from jsonschema.validators import (
|
|
Draft3Validator,
|
|
Draft4Validator,
|
|
Draft6Validator,
|
|
Draft7Validator,
|
|
RefResolver,
|
|
validate,
|
|
)
|
|
# try:
|
|
# from importlib import metadata
|
|
# except ImportError: # for Python<3.8
|
|
# import importlib_metadata as metadata
|
|
# __version__ = metadata.version("jsonschema")
|
|
# set the version manually here, as we don't install dist-info or egg-info
|
|
# files for vendored spack externals.
|
|
__version__ = '3.2.0'
|