pypaginate.adapters.memory.backend

In-memory pagination backend.

Implements SyncPaginationBackend for Python sequences. Validates input type at runtime for clear error messages.

Classes

MemoryBackend

Sync pagination backend for in-memory sequences.

Module Contents

class pypaginate.adapters.memory.backend.MemoryBackend

Bases: Generic[ItemT]

Sync pagination backend for in-memory sequences.

Counts via len() and fetches via slicing. Satisfies SyncPaginationBackend[ItemT] protocol.

count(query: object) int

Count items in a sequence.

Parameters:

query – A Python sequence (list, tuple, etc.).

Returns:

Number of items.

Raises:

TypeError – If query is not a Sequence.

fetch(query: object, offset: int, limit: int) list[ItemT]

Fetch a slice of items from a sequence.

Parameters:
  • query – A Python sequence.

  • offset – Start index.

  • limit – Maximum items to return.

Returns:

List of items for the requested slice.

Raises:

TypeError – If query is not a Sequence.