from __future__ import annotations from collections.abc import Iterable from typing import Generic, TypeVar T = TypeVar("T") class PaginatedList(list[T], Generic[T]): """A page of items carrying the total count from its data source.""" def __init__(self, items: Iterable[T], *, total: int) -> None: super().__init__(items) self.total = total