from __future__ import annotations from typing import Annotated from pydantic import AfterValidator, StringConstraints NonEmptyString = Annotated[str, StringConstraints(min_length=1)] def _ensure_positive(v: int) -> int: return v if v >= 1 else 1 PositiveInt = Annotated[int, AfterValidator(_ensure_positive)]