Skip to main content

Rust Guide

SigilYX is a Rust library first. The Python bindings are a layer on top of the Rust core. If you're building Rust applications that need to read or write YXDB files, you can use the sigilyx crate directly.

What You Get

  • Read YXDB files into Polars DataFrames
  • Write Polars DataFrames to YXDB files
  • Streaming batched reads with configurable batch size
  • Column projection to only decode the columns you need
  • Row-level iteration for custom processing pipelines
  • SpatialObj support with SHP-to-WKB conversion
  • All 17 YXDB field types fully supported

Quick Example

use sigilyx::{read_yxdb, write_yxdb, SpatialMode};

fn main() -> sigilyx::Result<()> {
// Read
let df = read_yxdb("data.yxdb", SpatialMode::Wkb)?;
println!("{}", df);

// Write
write_yxdb("output.yxdb", &df, &[])?;
Ok(())
}

Sections

  • Getting Started - Installation, dependencies, and first program
  • Reading - All read APIs: eager, batched, projected, row-level
  • Writing - Write DataFrames and streaming writes
  • Field Types - YXDB field types and their Rust/Arrow representations