SigilYX
Rust reader and writer for Alteryx .yxdb files.
YXDB is the native binary format used by Alteryx Designer. SigilYX is a standalone, cross-platform reader and writer with native Polars DataFrame integration. No native Alteryx Designer installation is required.
Format scope: SigilYX has full read/write support for the E1 (original engine) YXDB layout. Experimental read support for E2 (AMP engine) is included - 13 field types have been verified against real E2 files; 4 rare types (Blob, SpatialObj, Time, WString) have speculative decoders behind an opt-in flag. E2 writing is not yet supported. See SPECIFICATION-E2.md for details.
Features
- Read and write - full round-trip for all 17 E1 field types; E2 read support for 13 verified types
- Polars integration - reads directly into
polars::DataFramevia Arrow array construction - Columnar reader - memory-mapped I/O, parallel block decompression
- Row reader - iterate record-by-record with typed
FieldValuevariants - Streaming writer - pipelined background compression
- Spatial support -
SpatialObjcolumns decoded to ISO WKB (compatible with Shapely, PostGIS, GDAL) - Projection - skip parsing unused columns entirely
- Batched reads - constant-memory iteration over large files
Installation
[]
= "0.2"
Quick Start
use ;
// Read a YXDB file - returns a Polars DataFrame
let df = read_yxdb?;
println!;
// Write it back out
write_yxdb?;
See the repository README for the full API tour, the field-type mapping, and Python bindings (pip install sigilyx).