You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
"""
|
|
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.
|
|
"""
|
|
import warnings
|
|
|
|
from jsonschema._format import (
|
|
FormatChecker,
|
|
draft3_format_checker,
|
|
draft4_format_checker,
|
|
draft6_format_checker,
|
|
draft7_format_checker,
|
|
draft201909_format_checker,
|
|
draft202012_format_checker,
|
|
)
|
|
from jsonschema._types import TypeChecker
|
|
from jsonschema.exceptions import (
|
|
ErrorTree,
|
|
FormatError,
|
|
RefResolutionError,
|
|
SchemaError,
|
|
ValidationError,
|
|
)
|
|
from jsonschema.protocols import Validator
|
|
from jsonschema.validators import (
|
|
Draft3Validator,
|
|
Draft4Validator,
|
|
Draft6Validator,
|
|
Draft7Validator,
|
|
Draft201909Validator,
|
|
Draft202012Validator,
|
|
RefResolver,
|
|
validate,
|
|
)
|
|
|
|
|
|
def __getattr__(name):
|
|
if name == "__version__":
|
|
warnings.warn(
|
|
"Accessing jsonschema.__version__ is deprecated and will be "
|
|
"removed in a future release. Use importlib.metadata directly "
|
|
"to query for jsonschema's version.",
|
|
DeprecationWarning,
|
|
stacklevel=2,
|
|
)
|
|
|
|
try:
|
|
from importlib import metadata
|
|
except ImportError:
|
|
import importlib_metadata as metadata
|
|
|
|
return metadata.version("jsonschema")
|
|
raise AttributeError(f"module {__name__} has no attribute {name}")
|