Documentation

This is a stub site — the canonical reference lives in the repo README and the Python package docstrings. We will expand this as the package stabilizes.

Install

pip install openyxdb

Quickstart

import openyxdb

# One-shot reads
table = openyxdb.to_pyarrow("data.yxdb")
df    = openyxdb.to_polars("data.yxdb")

# Streaming + pushdown via Polars LazyFrame
lf = openyxdb.scan_yxdb("data.yxdb")
head = lf.select(["col_a", "col_b"]).head(1000).collect()

# Write
openyxdb.from_polars(df, "out.yxdb")

scan_yxdb pushdown

scan_yxdb pushes column projection and row limits down to the C++ reader and streams results in chunks (default 65,536 rows). Predicate pushdown is not supported at the file level — YXDB has no per-block statistics — so predicates run on the in-memory chunk after decode.

Format

YXDB is row-oriented: UTF-16 XML metadata, LZF-compressed record blocks, and a trailing block index. OpenYXDB supports the E1 (non-AMP) variant.