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.