Python · Parquet · Schema evolution · Hugging Face
Tabular Evolution Corpus
Small, versioned Parquet scenarios of datasets changing shape over time.
Thirty-five deterministic scenarios record what changed between versions: schemas, structural mutations, rows, and values. A validator re-derives every declared fact from the files. The corpus leaves compatibility decisions to the system under test, and is also published on Hugging Face.
Updated from public sources ·
Observations, not verdicts
Adapters read every transition with PyArrow, DuckDB, Polars, and Delta Lake, in both file orders, and record the result type or the error each engine raised. On corpus 0.2.0 the engines or their modes disagree on 26 of 36 transitions. The records are pinned to engine version, corpus revision, and platform.
Findings filed upstream
Each finding is reproduced outside the corpus and checked for duplicates before it is filed. Open reports cover a time zone dropped or applied depending on file order in Polars, a union_by_name read that fails on non-ASCII text in DuckDB, and two delta-rs appends: one that silently truncates float64 values into an int64 column, and a schema merge that adds a new column as non-nullable.