in src/huggingface_hub/dataclasses.py [0:0]
def _validate_tuple(name: str, value: Any, args: Tuple[Any, ...]) -> None:
"""Validate Tuple type."""
if not isinstance(value, tuple):
raise TypeError(f"Field '{name}' expected a tuple, got {type(value).__name__}")
# Handle variable-length tuples: Tuple[T, ...]
if len(args) == 2 and args[1] is Ellipsis:
for i, item in enumerate(value):
try:
type_validator(f"{name}[{i}]", item, args[0])
except TypeError as e:
raise TypeError(f"Invalid item at index {i} in tuple '{name}'") from e
# Handle fixed-length tuples: Tuple[T1, T2, ...]
elif len(args) != len(value):
raise TypeError(f"Field '{name}' expected a tuple of length {len(args)}, got {len(value)}")
else:
for i, (item, expected) in enumerate(zip(value, args)):
try:
type_validator(f"{name}[{i}]", item, expected)
except TypeError as e:
raise TypeError(f"Invalid item at index {i} in tuple '{name}'") from e