Skip to main content

SigilYX

YXDB reader and writer in Rust, with Python bindings.

SigilYX reads and writes .yxdb files using Polars DataFrames, PyArrow Tables, or Pandas DataFrames. It works on Windows, macOS, and Linux (x64 and ARM).

Why SigilYX?

  • Standalone. No native Alteryx Designer installation required.
  • Cross-platform. Windows, macOS, Linux (x64 and ARM).
  • Read and Write. Full round-trip support for all 17 YXDB field types.
  • Multiple output formats. Polars, PyArrow, or Pandas - pick the DataFrame library you already use.
  • Streaming. Batched reads with constant memory, or lazy scans with Polars LazyFrames.

Quick Start

pip install sigilyx
import polars as pl
import sigilyx # Importing registers pl.read_yxdb() and more

# Read
df = pl.read_yxdb("data.yxdb")

# Write
df.yxdb.write("output.yxdb")

That's it. Jump to the Python guide or the Rust guide for full details.

At a Glance

FeatureDetails
Rust coreMemory-mapped I/O with parallel block decompression
Polars integrationOfficial namespace plugin - pl.read_yxdb(), df.yxdb.write(), lazy pl.scan_yxdb()
PyArrow supportZero-copy pyarrow.Table via Arrow C Data Interface
Pandas supportpandas.DataFrame via PyArrow bridge
StreamingBatched reads in constant memory for arbitrarily large files
Field typesAll 17 YXDB types including SpatialObj, Blob, FixedDecimal
LicenseApache-2.0
Part of the Sigilweaver ecosystem

SigilYX is developed as part of Sigilweaver, the visual data pipeline platform. Sigilweaver uses SigilYX under the hood to read and write YXDB files at scale. If you're building data pipelines and want a visual, no-row-limit alternative to legacy ETL tools, check out sigilweaver.app.

Choose Your Path

I want to...Go here
Read/write YXDB in Python with PolarsPython - Polars
Read/write YXDB in Python with PandasPython - Pandas
Read/write YXDB in Python with PyArrowPython - PyArrow
Stream large YXDB files in PythonStreaming
Use lazy evaluation with PolarsLazy Scan
Write YXDB files (all formats)Writing
Work with geospatial / SpatialObj dataSpatial & GeoArrow
Iterate rows one at a timeRow Reader
Use the Rust crate directlyRust Guide
Contribute to SigilYXDeveloper Guide