from datetime import datetime, timezone def require_utc(value: datetime, field_name: str) -> datetime: if value.tzinfo is None: raise ValueError(f"{field_name} must include a timezone") return value.astimezone(timezone.utc) def to_iso_z(value: datetime) -> str: return require_utc(value, "datetime").strftime("%Y-%m-%dT%H:%M:%SZ")