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 npm 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
  • Node.js / TypeScript — native bindings via napi-rs, async I/O
  • CLI — inspect, convert, filter, head

Quick Start

# Cargo.toml
qvd = "0.7.1"
let table = qvd::read_qvd_file("data.qvd")?;
qvd::write_qvd_file(&table, "copy.qvd")?;
pip install qvdrs               # core + Arrow (pyarrow auto-installed)
pip install "qvdrs[pandas]"     # + pandas
pip install "qvdrs[polars]"     # + polars
pip install "qvdrs[duckdb]"     # + duckdb
pip install "qvdrs[all]"        # everything
import qvd
table = qvd.read_qvd("data.qvd")
table.save("copy.qvd")
npm install qvdrs
import { readQvd, saveQvd } from 'qvdrs'
const table = await readQvd('data.qvd')
await saveQvd(table, '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
TypeScript Examples Read/write, EXISTS, concat, PK merge, async patterns
API Reference Full API tables for Rust, Python, and TypeScript
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.7.1.tar.gz (113.3 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.7.1-cp39-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.9+Windows x86-64

qvdrs-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

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

qvdrs-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

qvdrs-0.7.1-cp39-abi3-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

qvdrs-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for qvdrs-0.7.1.tar.gz
Algorithm Hash digest
SHA256 90fec4c0c7ed18b9665cdf97df0dc330b79129c96d5d6a53f5761ad21ad44586
MD5 1d749ade11686d6e786a64c4e8c5c5db
BLAKE2b-256 bd1f75f05ff2eb41630f49855eae5a8a417ed86820fd168c0be4707a98241b34

See more details on using hashes here.

File details

Details for the file qvdrs-0.7.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: qvdrs-0.7.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.3

File hashes

Hashes for qvdrs-0.7.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 053a8b9d1f122519041200729c6364818ba40113755e23065f00687fc5577885
MD5 a6fcc5e3273b0258b64490904273cd5b
BLAKE2b-256 bff0438d84695b2d917e4226ef323612b14afb927d2027291587e52daaed5514

See more details on using hashes here.

File details

Details for the file qvdrs-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.7.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0be875448d5d8aca7d5d9b85ed6a56ff0d6ca5531d89ba95b1c3826e969d3361
MD5 2ec89ea8b7f30e9e84f63cf88d71610d
BLAKE2b-256 01f6c52f7d544a011abb9ce6520e6f92339a7f9a4fc524ac61bbbde030ce358c

See more details on using hashes here.

File details

Details for the file qvdrs-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for qvdrs-0.7.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d78e9b82ea269380e280820a34dcde49c386f0f726e185689ff8169bb7a112ce
MD5 a2234bff0dc604a2e368b26b4a471335
BLAKE2b-256 f8c96eabbcfda8f1033d56a00a3421fdb20915275f97aa26c942ad48c6f260b9

See more details on using hashes here.

File details

Details for the file qvdrs-0.7.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for qvdrs-0.7.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef7347b766017dba8e45a9f229d48812685ab0a79a0f7bdd1dd5cbee257ae486
MD5 2c8e7cb94bae076b97a0ff5315189065
BLAKE2b-256 2b3f71eec32b1b296228a77a5865813949856eca002fc68a16e7e3099962c616

See more details on using hashes here.

File details

Details for the file qvdrs-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for qvdrs-0.7.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bbfc91bd5345111d91ef02f61e117043de720dbbadc8dbbb8332c6739ca66d5f
MD5 90dcf56d2913b09c30d3254806aee01a
BLAKE2b-256 42e1b75098ac07b2c464771adcdc3c2a4d6a9aef813e0493e1f7dccdeed49360

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