pola-rs/polars · error · ImportError
reading delta deletion vectors requires deltalake >=
Error message
reading delta deletion vectors requires deltalake >= {'.'.join(str(v) for v in dv_min_version)}, found {installed}. What it means
Raised by the Delta Lake scanner when the table's protocol advertises deletion vectors but the installed deltalake package (>= 1.4.2 required) is too old to read them. Upgrade the deltalake package to read this table.
Solutions
- Upgrade deltalake to at least the version that supports deletion vectors, as printed in the error message.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at py-polars/src/polars/io/delta/_dataset.py:195 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of pola-rs/polars@5d8ebabf11 (2026-08-19).
Data as JSON: /api/errors/bcf522e4451eeecf.
Report an issue: GitHub.
Appendix: source
Thrown at py-polars/src/polars/io/delta/_dataset.py:193
reader_features = table.protocol().reader_features
has_deletion_vectors = (
reader_features is not None and "deletionVectors" in reader_features
)
deletion_files: DeletionFiles | None = None
if has_deletion_vectors:
import deltalake
dv_min_version = (1, 4, 2)
installed = parse_version(deltalake.__version__)
if installed < dv_min_version:
msg = (
f"reading delta deletion vectors requires "
f"deltalake >= {'.'.join(str(v) for v in dv_min_version)}, "
f"found {installed}."
)
raise ImportError(msg)
def _deletion_vector_callback(
requested_paths: pl.DataFrame,
) -> pl.DataFrame:
delta_deletion_vectors = _fetch_deletion_vectors(table)
if delta_deletion_vectors is None:
return pl.DataFrame(
{"selection_vector": [None] * len(requested_paths)},
schema={"selection_vector": pl.List(pl.Boolean)},
)
return _extract_delta_deletion_vectors(
requested_paths, delta_deletion_vectors
)
deletion_files = (
"delta-deletion-vector",
_deletion_vector_callback,
)View on GitHub (pinned to 5d8ebabf11)