Source code for CodeEntropy.levels.execution.chunks

"""Frame chunking helpers for map-reduce execution."""

from __future__ import annotations


[docs] def chunk_frame_indices( frame_indices: list[int], chunk_size: int, ) -> list[tuple[int, ...]]: """Split frame indices into deterministic fixed-size chunks. Args: frame_indices: Ordered selected frame indices to split. chunk_size: Maximum number of frame indices per chunk. Returns: A list of frame-index tuples preserving input order. Raises: ValueError: If ``chunk_size`` is less than one. """ if chunk_size < 1: raise ValueError("chunk_size must be >= 1") return [ tuple(frame_indices[i : i + chunk_size]) for i in range(0, len(frame_indices), chunk_size) ]