Skip to main content

Read and write Alteryx YXDB files

Project description

OpenYXDB

Read and write Alteryx YXDB files from Python and C++.

Built on Alteryx's official open-source YXDB implementation, released under GPLv3. This fork modernizes the build system, fixes bugs, adds cross-platform support, and wraps the C++ core in a Python package with first-class PyArrow, Pandas, and Polars integration.

What changed from the Alteryx original

  • Cross-platform support -- builds and runs on Linux, macOS, and Windows (the original targeted Windows only)
  • Python bindings via nanobind, published to PyPI as openyxdb
  • PyArrow, Pandas, and Polars read/write integration with automatic type mapping
  • Bug fixes -- block index was never written to disk (broke files with more than 65,536 records), reference-counting crash on GCC
  • Modern CMake (3.20+, target-based), pixi for dependency management, Catch2 test suite, GitHub Actions CI

What is YXDB?

YXDB is the native binary format used by Alteryx Designer. It is row-oriented: each file contains UTF-16 XML metadata describing the schema, followed by LZF-compressed blocks of records, and a block index at the end for random access.

This library supports E1 (non-AMP) YXDB files only.

Install

pip install openyxdb

Usage

import openyxdb

# Read to PyArrow, Pandas, or Polars
table = openyxdb.to_pyarrow("data.yxdb")
df = openyxdb.to_pandas("data.yxdb")
df = openyxdb.to_polars("data.yxdb")

# Write from any of them
openyxdb.from_polars(df, "output.yxdb")
openyxdb.from_pandas(df, "output.yxdb")
openyxdb.from_pyarrow(table, "output.yxdb")

All 17 YXDB field types are supported: Bool, Byte, Int16, Int32, Int64, FixedDecimal, Float, Double, String, WString, V_String, V_WString, Date, Time, DateTime, Blob, and SpatialObj.

Building from source

pixi install
pixi run build
pixi run test

Limitations

  • Spatial indexes are skipped on read and not created on write.
  • Spatial objects are accessible only as raw blobs (SHP-encoded binary).
  • Little-endian architectures only (x86, ARM).

Testing

The reader has been validated against 1,012 real-world E1 YXDB files sourced from the community corpus at Sigilweaver/YXDB-Sources, covering a wide range of field types, encodings, record counts (0 to 200k+), and filenames including non-ASCII characters — 100% pass rate.

License

GPLv3 -- see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openyxdb-1.0.2.tar.gz (2.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

openyxdb-1.0.2-cp313-cp313-win_amd64.whl (159.4 kB view details)

Uploaded CPython 3.13Windows x86-64

openyxdb-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

openyxdb-1.0.2-cp313-cp313-macosx_11_0_arm64.whl (163.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

openyxdb-1.0.2-cp312-cp312-win_amd64.whl (159.5 kB view details)

Uploaded CPython 3.12Windows x86-64

openyxdb-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

openyxdb-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (163.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

openyxdb-1.0.2-cp311-cp311-win_amd64.whl (160.1 kB view details)

Uploaded CPython 3.11Windows x86-64

openyxdb-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

openyxdb-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (164.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

openyxdb-1.0.2-cp310-cp310-win_amd64.whl (160.3 kB view details)

Uploaded CPython 3.10Windows x86-64

openyxdb-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

openyxdb-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (164.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file openyxdb-1.0.2.tar.gz.

File metadata

  • Download URL: openyxdb-1.0.2.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openyxdb-1.0.2.tar.gz
Algorithm Hash digest
SHA256 6c3f52e26b68b9684ffcff674a2dc18be1e4793c7be6e261c92337fab4056a56
MD5 fa99e9d595c3f5327a3037c088f539b0
BLAKE2b-256 82123e093d360a148a093d3abe39d876295f1316081394d32efa12f95e4c324c

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2.tar.gz:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 159.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openyxdb-1.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 7ec430be8cbc1e7ffcc87131f866098586aabda2f01078739bdd7bca68c71e28
MD5 71525cd7b3fa6460e08c2aa3c246da43
BLAKE2b-256 e37d7200950a2252f504484e6dfb3c9cc95398532c49b5112d1943123c8cf098

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84a36da031b5a165d445ab35c23cdec2d1d3c74328bec23e7c3b451435c68088
MD5 d905163616927d50417901d306028ffa
BLAKE2b-256 20b0c5a0877d5daaaabe1ff143469aad68a336f31f0b18fe1473446083d2ad28

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1feef49a172c35bf9e7c1e63cdf71d9595ffe4f56e861a28cf51261e79929de
MD5 02dcd600c693a37b884d58f146ca6e57
BLAKE2b-256 cc4c7c701de55fe77de2bf8fd0853318ef743409d03eae718331ed65f71963b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 159.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openyxdb-1.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cd6494a43fa2c1531e169b4b73f7f0c40b52f5a5a529d5ceeae1d3f06281b382
MD5 f8015ce7807f3c76a490ce15b666151f
BLAKE2b-256 1db59c7bf6170f53ff2befc72cfdc58f1494cfeb242b7412fdee25663964a215

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0c3973f06cc6263d68cbe33397cd4f57d66a8e70a1056e79829bca3b5831d39
MD5 7d384fed6e7968bb704be4e8f85a5a2b
BLAKE2b-256 3e34ba26b35e86d456d7b034a5402afc7ad26f9abd47f724a554e3507a39a334

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d289606c95687ce55e93c163ae8fbd82bebb6118a297ffbb6e19e6575df49ee
MD5 a9d0d0e772b3b217f8e1fafc73bbdba1
BLAKE2b-256 8cec696498461cba72b49eea80f85a9f3ad4c5baf31808215e8fa5a0ebf92f6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 160.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openyxdb-1.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a6b5748d1bba984fbfaae18d7fae9d64bc6fffe93c1403af115d4f0c39ba67b7
MD5 7a83fdbbe9896b224b63d91db58f15ad
BLAKE2b-256 87d02fdcf3a289f321e1f2651ebaf3c4b93d8db379d6b4af0209b1532d82bda6

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5a8e8a5382d5870e319285e1a9fc3df5c3c616483e055d288852765e3bcf93c
MD5 bd19a9cf9da32d7edc5f821b30348ddb
BLAKE2b-256 54723679a79d5a150995d33436ad6669cc33deb0ade67c6440ae0bb63a44f642

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59190263dca481d694146e917a3a0d92b09b8e00d93703e16d652bfb9c9429d2
MD5 497ef2ffa5978a1aadaa6fbc0495f7fd
BLAKE2b-256 04059af7ebff2550d0a1ba91920be0b5a9e234098c702e08612c4ca3f26df88e

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 160.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for openyxdb-1.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3436d9e7c6ab60f28558af69f75b6dd88006bd2e53acb40134e87bbd9a8120b6
MD5 db68d373f282bac7aed9131c37382a50
BLAKE2b-256 e90b1263df2916f39ec1240f0faccaa0c2f7666db5f98eaa559bc7e7a7fa2ae6

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5afb274c37f30e662f712ba7421008d44946925d8f4e643cb81c308f12eb04db
MD5 7d18333e4eec3bb7b7783bd6c54bfb0c
BLAKE2b-256 cfc9c9e2a8c69f63e87716dc04e5c90f23d799e984c8c2dcd4344d447b97adb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file openyxdb-1.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 052afc6795218998ff9587605bda60c6622260f8137ff68f27389e5f09f0373b
MD5 840ca03cefed3a636cecd34af9eaf069
BLAKE2b-256 4eb524c6ce8b8a0b0fd5fca199cd8146aba7885c240b7ca8ab5d16c09003cbf9

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on Sigilweaver/OpenYXDB

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page