Skip to main content

time_schema

Returns a schema that matches a time value, e.g.:

from datetime import time
from pydantic_core import SchemaValidator, core_schema

schema = core_schema.time_schema(le=time(12, 0, 0), ge=time(6, 0, 0))
v = SchemaValidator(schema)
assert v.validate_python(time(9, 0, 0)) == time(9, 0, 0)
def time_schema(
strict: bool | None = None,
le: time | None = None,
ge: time | None = None,
lt: time | None = None,
gt: time | None = None,
tz_constraint: Literal['aware', 'naive'] | int | None = None,
microseconds_precision: Literal['truncate', 'error'] = 'truncate',
ref: str | None = None,
metadata: dict[str, Any] | None = None,
serialization: SerSchema | None = None
) - > TimeSchema

Returns a schema that matches a time value.

Parameters

NameTypeDescription
strict`boolNone` = None
le`timeNone` = None
ge`timeNone` = None
lt`timeNone` = None
gt`timeNone` = None
tz_constraint`Literal['aware', 'naive']int
microseconds_precisionLiteral['truncate', 'error'] = 'truncate'The behavior when seconds have more than 6 digits or microseconds is too large
ref`strNone` = None
metadata`dict[str, Any]None` = None
serialization`SerSchemaNone` = None

Returns

TypeDescription
TimeSchemaA dictionary-based schema definition for validating and serializing time objects.