High-performance Qlik QVD file reader/writer with Parquet/Arrow/DataFusion support — Rust-powered Python bindings (PyArrow, pandas, Polars)
Project description
qvd
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2a0ec01123c0c18a7dd03645d6bc18417a9bf9ec311a0c2f2d7d84eb68a91cc
|
|
| MD5 |
e88dc9daa45004ea78a55f75d011df21
|
|
| BLAKE2b-256 |
7ea7a7659c5d9c71e2bf741a60c94e431474cf901762f85cecb794aa4c3da23b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dac95c2a58e548afe6c427fc8966faea34758034c9ac2edf208d982e3a6c7def
|
|
| MD5 |
72a101084edf2166cfaa98de1ba093c3
|
|
| BLAKE2b-256 |
193841dbc1558462bf7b877c360b3206c919f4775a699bc3117f6cbb32021f34
|
File details
Details for the file qvdrs-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: qvdrs-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 4.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
873619742e620e6fb460ba8354e166990489a5af6629790b331992083a710c08
|
|
| MD5 |
02e24664051453fae6f9cefb2b78a39b
|
|
| BLAKE2b-256 |
32d02688839866f2d8de846794f54159444751a379db29b07978d99171bf32a0
|
File details
Details for the file qvdrs-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: qvdrs-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
398aaf1f6c299cb49612dc7d3569c79f057e90c705529702412a4969768da1c7
|
|
| MD5 |
f3127f930fccd5e331a0979b9c554206
|
|
| BLAKE2b-256 |
c722d7b5a029f6688029e9388f7ccce3252d8aa876aed77de8ba4a622dc3e943
|
File details
Details for the file qvdrs-0.6.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: qvdrs-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e3c952a43199257500c94ba63410bd20d78ade506ca473143821b3b3d2658bd
|
|
| MD5 |
d27bff5484c161fa4acbeb25a686e9e7
|
|
| BLAKE2b-256 |
f4baddbc42c442dcb9da5d581a3649b13a56f7d0de6da1f1690757794d054528
|
File details
Details for the file qvdrs-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: qvdrs-0.6.0-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb84df1a48f246eae897b4588606a1f4301cf3ccbdf9c9b96063659d431a760f
|
|
| MD5 |
c16e0005bf1403012638b88429d0391f
|
|
| BLAKE2b-256 |
26fe54ba6616235273173525b6df429d795e90a43b2d3505b85b1d4e65b20eb7
|