Built-in format types for JSON Schema validation.
This module exports Pydantic-compatible types for all formats defined in
JSON Schema §7.3.
Use them directly in Pydantic models or pass them as formats to SchemaConverter.
Email = Annotated[str, AfterValidator(validate_email)]
Email address.
Source: RFC 5321
Hostname = Annotated[str, AfterValidator(validate_hostname)]
Hostname.
Source: RFC 1123
IdnEmail = Annotated[str, AfterValidator(validate_idn_email)]
Internationalized email address.
Source: RFC 6531
IdnHostname = Annotated[str, AfterValidator(validate_idn_hostname)]
Internationalized hostname.
Source: RFC 5890
Iri = Annotated[str, AfterValidator(validate_iri)]
Absolute internationalized URI.
Source: RFC 3987
IriReference = Annotated[str, AfterValidator(validate_iri_reference)]
IRI reference, absolute or relative.
Source: RFC 3987
JsonPointer = Annotated[str, AfterValidator(validate_json_pointer)]
JSON Pointer.
Source: RFC 6901
Regex = Annotated[str, AfterValidator(validate_regex)]
Regular expression, ECMA-262 dialect.
Source: JSON Schema §7.3.8
RelativeJsonPointer = Annotated[
str, AfterValidator(validate_relative_json_pointer)
]
Uri = Annotated[str, AfterValidator(validate_uri)]
Absolute URI with a scheme.
Source: RFC 3986
UriReference = Annotated[str, AfterValidator(validate_uri_reference)]
URI reference, absolute or relative.
Source: RFC 3986, section 4.1
UriTemplate = Annotated[str, AfterValidator(validate_uri_template)]
URI Template.
Source: RFC 6570