pavise.exceptions

ValidationError

The main exception raised by Pavise when DataFrame validation fails.

class pavise.exceptions.ValidationError(base_message, column_name=None, invalid_samples=None)[source]

Bases: PatrolError

Raised when DataFrame validation fails.

Parameters:
  • base_message (str)

  • column_name (str | None)

  • invalid_samples (list[tuple[Any, ...]] | None)

message

Human-readable error message

column_name

Name of the column that failed validation (if applicable)

invalid_samples

List of (row_index, value) tuples showing sample invalid values

__init__(base_message, column_name=None, invalid_samples=None)[source]
Parameters:
  • base_message (str)

  • column_name (str | None)

  • invalid_samples (list[tuple[Any, ...]] | None)

classmethod new_with_samples(col_name, base_message, samples, total_invalid, format_value=<built-in function repr>)[source]

Create a ValidationError with a formatted message including sample invalid values. :param col_name: Column name :param base_message: Base error message (e.g., “values must be in range [0, 150]”) :param samples: List of (index, value) tuples :param total_invalid: Total number of invalid values :param format_value: Optional function to format values (default: repr)

Returns: Formatted error message

Parameters:
Return type:

Self

Usage

from pavise.pandas import DataFrame
from pavise.exceptions import ValidationError

try:
    validated_df = DataFrame[Schema](raw_df)
except ValidationError as e:
    print(f"Validation failed: {e}")
    print(f"Column: {e.column_name}")
    print(f"Invalid samples: {e.invalid_samples}")