Skip to main content

Crate sigilyx

Crate sigilyx 

Source
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 SpatialObj fields.

Enums§

YxdbFormat
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.