Expand description
§SigilYX
A fast, safe Rust library for reading and writing Alteryx YXDB files, with native Polars DataFrame integration.
Supports both the E1 (original engine) and E2 (AMP engine) YXDB layouts.
Format detection is automatic — E1 files begin with "Alteryx Database File",
E2 files begin with "Alteryx e2 Database file".
§Quick Start
use sigilyx::{read_yxdb, write_yxdb, SpatialMode};
// Read a YXDB file (SpatialObj columns decoded to WKB by default)
let df = read_yxdb("path/to/file.yxdb", SpatialMode::Wkb, false).unwrap();
println!("{}", df);
// Write a DataFrame to YXDB (E1 format)
write_yxdb("path/to/output.yxdb", &df, &[]).unwrap();Re-exports§
pub use e1::header::ID_WRIGLEYDB;pub use e1::header::ID_WRIGLEYDB_NO_SPATIAL_INDEX;pub use e1::lzf::CompressionAlgorithm;pub use e1::reader::YxdbReader;pub use e1::reader::YxdbRowReader;pub use e1::record::FieldValue;pub use e1::writer::infer_schema as infer_schema_public;pub use e1::writer::write_yxdb;pub use e1::writer::write_yxdb_from_ipc;pub use e1::writer::write_yxdb_from_ipc_spatial;pub use e1::writer::write_yxdb_with_schema;pub use e1::writer::YxdbWriter;pub use e2::reader::E2Reader;pub use error::Result;pub use error::YxdbError;pub use field::FieldMeta;pub use field::FieldType;pub use spatial::shp_to_wkb;pub use spatial::spatial_column_names;pub use spatial::wkb_to_shp;pub use spatial::SpatialMode;
Modules§
- e1
- E1 (original Alteryx engine) YXDB format support.
- e2
- E2 (AMP engine) YXDB format support.
- error
- field
- spatial
- SHP ↔ WKB geometry conversion for Alteryx YXDB
SpatialObjfields.
Enums§
- Yxdb
Format - Detected YXDB file format.
Functions§
- create_
writer_ from_ ipc - Create a streaming YXDB writer from Arrow IPC schema bytes.
- detect_
format - Detect whether a YXDB file is E1 or E2 by reading the magic string.
- ipc_
to_ dataframe - Deserialize Arrow IPC bytes to a Polars DataFrame.
- read_
yxdb - Read a YXDB file and return a Polars DataFrame.
- read_
yxdb_ columns - Read a YXDB file, returning only the specified columns.
- read_
yxdb_ to_ ipc - Read a YXDB file and return the DataFrame serialized as Arrow IPC bytes.
- read_
yxdb_ to_ ipc_ batches - Read a YXDB file in batches and return each batch as Arrow IPC bytes.
- writer_
write_ batch_ from_ ipc - Write a batch of Arrow IPC bytes to an existing streaming writer.