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.0.tar.gz (86.6 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.0-cp313-cp313-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.13Windows x86-64

qvdrs-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

qvdrs-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

qvdrs-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

qvdrs-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for qvdrs-0.6.0.tar.gz
Algorithm Hash digest
SHA256 e2a0ec01123c0c18a7dd03645d6bc18417a9bf9ec311a0c2f2d7d84eb68a91cc
MD5 e88dc9daa45004ea78a55f75d011df21
BLAKE2b-256 7ea7a7659c5d9c71e2bf741a60c94e431474cf901762f85cecb794aa4c3da23b

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: qvdrs-0.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for qvdrs-0.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dac95c2a58e548afe6c427fc8966faea34758034c9ac2edf208d982e3a6c7def
MD5 72a101084edf2166cfaa98de1ba093c3
BLAKE2b-256 193841dbc1558462bf7b877c360b3206c919f4775a699bc3117f6cbb32021f34

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 873619742e620e6fb460ba8354e166990489a5af6629790b331992083a710c08
MD5 02e24664051453fae6f9cefb2b78a39b
BLAKE2b-256 32d02688839866f2d8de846794f54159444751a379db29b07978d99171bf32a0

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 398aaf1f6c299cb49612dc7d3569c79f057e90c705529702412a4969768da1c7
MD5 f3127f930fccd5e331a0979b9c554206
BLAKE2b-256 c722d7b5a029f6688029e9388f7ccce3252d8aa876aed77de8ba4a622dc3e943

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e3c952a43199257500c94ba63410bd20d78ade506ca473143821b3b3d2658bd
MD5 d27bff5484c161fa4acbeb25a686e9e7
BLAKE2b-256 f4baddbc42c442dcb9da5d581a3649b13a56f7d0de6da1f1690757794d054528

See more details on using hashes here.

File details

Details for the file qvdrs-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bb84df1a48f246eae897b4588606a1f4301cf3ccbdf9c9b96063659d431a760f
MD5 c16e0005bf1403012638b88429d0391f
BLAKE2b-256 26fe54ba6616235273173525b6df429d795e90a43b2d3505b85b1d4e65b20eb7

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