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.read_arrow("data.yxdb")
df = openyxdb.read_pandas("data.yxdb")
df = openyxdb.read_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).

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.0.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.0-cp313-cp313-win_amd64.whl (157.8 kB view details)

Uploaded CPython 3.13Windows x86-64

openyxdb-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

openyxdb-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (169.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

openyxdb-1.0.0-cp312-cp312-win_amd64.whl (157.8 kB view details)

Uploaded CPython 3.12Windows x86-64

openyxdb-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (230.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

openyxdb-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (169.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

openyxdb-1.0.0-cp311-cp311-win_amd64.whl (158.5 kB view details)

Uploaded CPython 3.11Windows x86-64

openyxdb-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

openyxdb-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (171.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

openyxdb-1.0.0-cp310-cp310-win_amd64.whl (158.7 kB view details)

Uploaded CPython 3.10Windows x86-64

openyxdb-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

openyxdb-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (171.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: openyxdb-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 6c4e0dfcef41e532f1fd0ba384961a4ab7d2637b336777214c6a6638a1ac0a59
MD5 48902c7b85fe7be74c5faf89a8a9f70b
BLAKE2b-256 2b47ee3be7b740cd335fdfdc6857af9b918277c4e3af9b3063eb261495ad7b30

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0.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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 157.8 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c33dd61d7cb522cc6e3e0e7ed345c722c37ebd19bdf806f6586cf6e1c17bab63
MD5 1ed313c0d2f0229ce6f14ff8502a8b18
BLAKE2b-256 fd4a244e8e7e17b9a0967f21412a0f9aaed545759a2e6efa2a89710863bd0eba

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0c90809a146f8a4c84c0127083ad2b9f5f50d78faacfde744202ed5b9c7a6db
MD5 b7f59adc5ba5b93b0bc3d382cd48986f
BLAKE2b-256 f46823b48961cb14e8c48aa197a396a752888012590e8a33e45ac61b35fd09cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d0760e130e4e066c6bae8c12a14f80f594f61570a14ac815333d4064cee5cb78
MD5 7d35a73eac8e25358fef13c4ab3c425e
BLAKE2b-256 1e34b4d4e3086728146289d39b154e63c10116606fa893c350c3f472abb75497

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 157.8 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5502244fcccc71d910e618d55fc2ed980e18ffabfefcb28847eee7c5b120040b
MD5 2a6119051e865606692c5a1bc1036743
BLAKE2b-256 29c98eb90cd259a9670a769a815167f8eaebfd9f21c134358e56fcb4bd289d66

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72bc45fced60bbae08181e293611fae398727e27b94e200724f0a18c0c8c4edf
MD5 75ed26464f3a5ccc3f511cbb735a98d5
BLAKE2b-256 9c89d9090863d2066b10e4ee6e46750775fa28fc8ceb5b234af093c237c8994f

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55f29aeafa93ec6be58d7f85aa70ad3fad2d2ca1ebcb85a8786ad19ea47864cb
MD5 6d9eaf2c44730c498e9b0f08ac6bc2a5
BLAKE2b-256 24a8a57a08bd477330f5a00472d76aac345a375e18ce44e0dc624e13c3c58b7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 158.5 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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6b4e70293a877fae3d5d859fb1f67783be90dde367b5f0579a03c49bab2e2226
MD5 b1f36b17c0c9a5bd502618c00bd45017
BLAKE2b-256 773d7900e3df35e9dad7be1ee233bd236746c6d1af5a657bbfb1662d793cd136

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aacef88685c9dbe1aaef7ea65a6a3b6382f2b9cacee8a303b037925f326b14cb
MD5 258d51aa89d7381c2848e9c01584fd2d
BLAKE2b-256 46efc59c9cb75771d8ede0a37c38c589fcc5b71c43b70c41fafa0e99b7bb118a

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0f9bde25f56ed1d64f0f000003b43304d6a6ad8e87629bf7c2897ffe79075c55
MD5 e3326e8e9f4861556b55e686e3f3e79d
BLAKE2b-256 7e36d4061a26a284c0b2429eee3fe1c61ebf88dbcd90efd9da9762224504a90b

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: openyxdb-1.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 158.7 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 54081ad0575bacf607a9d71de25a83e10d6ab6d68ac452122edf1c764284bb0f
MD5 65d6463838c28cd13f3554e7ac142ffa
BLAKE2b-256 d1adcf9f749de592712b0e9fe3a18402337f3a8d4c87748c128fcd7ab574f3d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ed1965dd03b26d54d80794d208a081ca73c6f76003fa8e8daedbd78fb7d9906
MD5 8d844d429a105abb416bd1850d9b84d3
BLAKE2b-256 e64d20c4ffd3756361067d6061fe22e7c171d2f5ceca334a0ad63d92af3d3b33

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for openyxdb-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13e8a4c47ecb391df4f77ca97b2a842109a56206cc05a69b1776e35bd0aa6d8a
MD5 b7d52ce40d6dfe7236fe9496980237a1
BLAKE2b-256 987e554cfa949864297e80a790832f2c538c2ca09d9b9a81233e393ef5108e4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for openyxdb-1.0.0-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