from __future__ import annotations from datetime import UTC, datetime def utcnow() -> datetime: return datetime.now(UTC) def iso(dt: datetime | None) -> str | None: if dt is None: return None if dt.tzinfo is None: dt = dt.replace(tzinfo=UTC) return dt.astimezone(UTC).isoformat().replace("+00:00", "Z")