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

Uploaded CPython 3.13Windows x86-64

openyxdb-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

openyxdb-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (170.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

openyxdb-1.0.1-cp312-cp312-win_amd64.whl (158.8 kB view details)

Uploaded CPython 3.12Windows x86-64

openyxdb-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (231.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

openyxdb-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (170.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

openyxdb-1.0.1-cp311-cp311-win_amd64.whl (159.5 kB view details)

Uploaded CPython 3.11Windows x86-64

openyxdb-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (233.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

openyxdb-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (172.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

openyxdb-1.0.1-cp310-cp310-win_amd64.whl (159.7 kB view details)

Uploaded CPython 3.10Windows x86-64

openyxdb-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (233.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

openyxdb-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (172.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: openyxdb-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 7fe0634cbef74893b554e221e23911fbce925e553a79ce5da54d3b193fba791c
MD5 bb3b86932614b885ad32a7d75ac68e73
BLAKE2b-256 db9398810b917abcb2152277fdda353328d6c015c2345b30ea443dd15db49b45

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: openyxdb-1.0.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 158.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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b41cf2e0636981566353b9f3157225932cef9a0f0b938f3449b4cac7bc049ad8
MD5 2c8cf7bbac955da228f1349620c88eea
BLAKE2b-256 205822e13f3421d11129d7eb560eada0c5f7f7d3d8c8634ba2ea747a8631eb1a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4f88140a13de279ecec1f5b19765191d01f258e6a16553ff5359a228a17b0a2
MD5 b120ad629f214cde01720a40c91d3edf
BLAKE2b-256 d2c15465c93ea32342b83e35fe1a09c4e25d3e336590e94ab86dd66f8e728ee4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4247579213b3a40869614918c2d1ac8e368a3c06e3560cfe2c29d088935e8b7
MD5 f605e808dbc837ae219465d96ad08440
BLAKE2b-256 c8582639abd9ac54062030f398ac9de70380e7074fa53114594ed743c4c8ceeb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: openyxdb-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 158.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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b30d29359d5ab2ca69f321c12fc891584d49670ddc6ac5fcad068f1d51f317b3
MD5 7b050b6835bb1a82867feedb8c3b7602
BLAKE2b-256 0521dfe508984b7f9a95ce1b59585224d68323c2e1975c33a6cab725a20341f6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0d3b328aaf506f943350c9967b1077f7d508660769a49331e5b8f0153ead9c6
MD5 20aa0d9f2ede9ca47c0a245696e999b3
BLAKE2b-256 286989b8691c18a53ea84b5fea545e5876951725dbb95c4aed638eb96cc428a4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c34ee45158f739edcaa88fea27bcd7e07b897625ecb2566341ea4b7bd68b140a
MD5 57d33e656a99b236429e348810613df8
BLAKE2b-256 d9a04071475cd75e4c596ebd164805387797f12bd07c725ec789f5ce45a59f8a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: openyxdb-1.0.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 159.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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ff9a42530da6afbc22cad966b946f203997b75dff6cccecc0c9440ae37b8e26
MD5 9ed5343620035b53b79cc8deaffe1174
BLAKE2b-256 749bff2387bfd6dc120036e82c8b9d634b42e297d2ea1523b278e506a6b2409b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe5856aed63d1886282dc69007523deb49e81cd1930f92675c3e44ba5886ed81
MD5 0f2a6cd72924c06078b4e468085f54ee
BLAKE2b-256 d15ee311c45548f548841894fbe5cec5f1c3eec67e8f009d36b76638f60201c4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa46f01406296f4ce062b4891af86edd20872610409ddc7e37a7bb41cf1a426a
MD5 bda5accd104946deb6af744a5c595fab
BLAKE2b-256 ada40e27820c1a3014415478bd31747fd7eb879a19fb8f8578c74e7c3b4f3ba1

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: openyxdb-1.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 159.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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1378d334ac51bb58cbcdbfd6bd9ec9bde1777f6e0f669d05d54f4388e0e04e33
MD5 030281525313a3d648b8ac137c2c01a0
BLAKE2b-256 300fdca1cb8c0be2d0f8580417d3b717b5aab25b9161d89195677342ed9423e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f2230630b0b9a35ea7e18f9aff2eca7cea7b0c5d171ca8f960ef5cf5f7802b8
MD5 2922d8b505670a70f94196611d1e54d2
BLAKE2b-256 5130374c44c3af8e2bfd142ffaf6c3e9a9a7dab7c7d9c30085c7a28cc31dad01

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for openyxdb-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ddef06a72cf41bb4ccf8fa2a1e25722466dc50668f65600955aff235515b7ab2
MD5 522f422ce3e4e37698164693a8ae635a
BLAKE2b-256 4152ce11c047a13513ca5d8bbfcf913e4abac474523e866f2210534e5ceb0634

See more details on using hashes here.

Provenance

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