pavise.polars
Polars backend for type-parameterized DataFrame with Protocol-based schema validation.
- class pavise.polars.DataFrame(data, *args, strict=False, **kwargs)[source]
Bases:
DataFrame,Generic[SchemaT_co]Type-parameterized DataFrame with runtime validation for Polars.
Usage:
# Static type checking only def process(df: DataFrame[UserSchema]) -> DataFrame[UserSchema]: return df # Runtime validation validated = DataFrame[UserSchema](raw_df)
The type parameter is covariant, allowing structural subtyping. DataFrame[ChildSchema] is compatible with DataFrame[ParentSchema] when ChildSchema has all columns of ParentSchema.
- classmethod __class_getitem__(schema)[source]
Create a new DataFrame class with schema validation.
- Parameters:
schema (type)
- __init__(data, *args, strict=False, **kwargs)[source]
Initialize DataFrame with optional schema validation.
- Parameters:
- Raises:
ValueError – If required column is missing
TypeError – If column has wrong type
- class pavise.polars.LazyFrame(data, strict=False)[source]
Bases:
LazyFrame,Generic[SchemaT_co]Type-parameterized LazyFrame with runtime schema validation for Polars.
Schema validation happens at construction time using collect_schema(). Value-based validators (Range, Unique, etc.) are only checked on collect().
- Parameters:
data (LazyFrame)
strict (bool)
- classmethod __class_getitem__(schema)[source]
Create a new LazyFrame class with schema validation.
- Parameters:
schema (type)
- static __new__(cls, data, strict=False)[source]
Create LazyFrame instance by copying internal state from source.
- Parameters:
data (LazyFrame)
strict (bool)
- __init__(_data, strict=False)[source]
Initialize LazyFrame with schema validation.
- Parameters:
data – Polars LazyFrame to wrap
strict (bool) – If True, raise error on extra columns not in schema
_data (LazyFrame)