Skip to main content

High-performance Qlik QVD file reader/writer with Parquet/Arrow/DataFusion support — Rust-powered Python bindings (PyArrow, pandas, Polars)

Project description

qvd

Crates.io PyPI License: MIT

High-performance Rust library for reading, writing, converting and merging Qlik QVD files.

Disclaimer: This project is not affiliated with Qlik Technologies or QlikTech. QVD is a proprietary format; all trademarks belong to Qlik. This library was built from scratch using publicly available information. See LEGAL.md for details.

Features

  • Read/Write QVD with byte-identical roundtrip (tested on 399 files up to 2.8 GB)
  • Streaming chunk-based reader for large files
  • EXISTS() O(1) index + filtered reads (2.5x faster than Qlik Sense)
  • Concatenate — pure append with strict/union schema modes
  • PK Merge — upsert/dedup by primary key (replace/skip/error). First QVD library with this
  • Parquet/Arrow — bidirectional conversion, write_arrow() for direct Arrow-to-QVD
  • DuckDB / DataFusion — register QVD as SQL tables
  • Python — PyArrow, pandas, Polars via zero-copy Arrow bridge
  • CLI — inspect, convert, filter, head

Quick Start

# Cargo.toml
qvd = "0.6.0"
let table = qvd::read_qvd_file("data.qvd")?;
qvd::write_qvd_file(&table, "copy.qvd")?;
pip install qvdrs
import qvd
table = qvd.read_qvd("data.qvd")
table.save("copy.qvd")

Documentation

Rust Examples Read/write, streaming, EXISTS, Parquet, Arrow, concat, PK merge, DataFusion
Python Examples Read/write, Arrow, pandas, Polars, DuckDB, concat, PK merge, workflows
API Reference Full API tables for Rust and Python
Release Notes Changelog for all versions

License

MIT — Stanislav Chernov (@bintocher)

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

qvdrs-0.6.1.tar.gz (86.7 kB view details)

Uploaded Source

Built Distributions

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

qvdrs-0.6.1-cp312-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.12+Windows x86-64

qvdrs-0.6.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ x86-64

qvdrs-0.6.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.17+ ARM64

qvdrs-0.6.1-cp312-abi3-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

qvdrs-0.6.1-cp312-abi3-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12+macOS 10.12+ x86-64

File details

Details for the file qvdrs-0.6.1.tar.gz.

File metadata

  • Download URL: qvdrs-0.6.1.tar.gz
  • Upload date:
  • Size: 86.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for qvdrs-0.6.1.tar.gz
Algorithm Hash digest
SHA256 828616c317b231e44bae86da4cf212529bbd409dce43a568529afb9ad3f97f52
MD5 cb542f761713601ddae2fcafd46cc920
BLAKE2b-256 fc89f98ae4aad065653ace43870fa3c21ef81a4b8dc8bcfff87821b2230c3661

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.1-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: qvdrs-0.6.1-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for qvdrs-0.6.1-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 78a80fee13b439e80a6a82a79bf4dcf8a93205eb296df1a271cb6c141b90b7bd
MD5 e0fd5daf1787553f073fc019bffb81d1
BLAKE2b-256 6082711156135fdd2f8e48b9b73dc628c1aa01caf207e719e30d5e85daa59fdf

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1667a29e13a1fdb871f27f0ce3a85bcb4c4dbcefd7bf32a73dd9bb0dbd59bd7
MD5 ce8bac34b13b0375c9a9614d8b70e739
BLAKE2b-256 0c378f7014b81eb79040f80b5835ec89f2bd6f40cee672927a68b90ac4969ae2

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 505f1a8ca7bc32ef41cbe27c113db73ffc703eb3f2d9adcbca741f0e09f22f13
MD5 b679a2c28dae5f0d7d1d44ea3d45715e
BLAKE2b-256 e3d0afe0796fb359b681e3de1b2631e94f75a3870cb3c1922042d9dd25255153

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.1-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.1-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1105ec24ef3adc3c35945f92efca44228306874a6883cdb183e2e7d74f932217
MD5 3b193be223206723baf2873d4699476e
BLAKE2b-256 bdaaab88a0f161a7e5ce5bebc99c7810f83b3e55adf5a455c545b09110498cdb

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.1-cp312-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.1-cp312-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d05eb9b432a7c8ed8bd9248b41af555fd76ccb6de9085291a4d44f67c3dd839
MD5 cfd0efd3d507d4e70fbe2b777402820d
BLAKE2b-256 e58ad0752970339b9935265e9ee16a84345c10024a4de89e06a91e8d72340b9a

See more details on using hashes here.

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