eyconf.validation.backends.json_schema.JsonSchemaValidator¶
- class eyconf.validation.backends.json_schema.JsonSchemaValidator(allow_additional: bool = False)¶
JSON Schema validation backend for dataclass schemas using Draft 2020-12.
Features full support for Annotated, Literal, NotRequired, Unions, nested dataclasses, aliases via metadata, and Sequence types. Cached schema generation.
Attributes
allow_additionalMethods
__init__([allow_additional])to_json_schema(schema[, check_schema])Convert TypedDict/dataclass to JSON Schema.
validate(data, schema)Protocol match: Validate data against schema-derived JSON Schema.
validate_and_construct(data, schema)Validate and construct dataclass instance.
- to_json_schema(schema: type[D], check_schema: bool = True) dict[str, Any]¶
Convert TypedDict/dataclass to JSON Schema.
- Parameters:
- Returns:
Draft-2020-12 compliant schema.
- Return type:
JsonSchema
- Raises:
ValueError – Unsupported types (non-str dict keys, etc.).
jsonschema.SchemaError – Invalid generated schema.
Notes
Cached for repeated calls.