Read Qlik Sense .qvd files 🛠
A python library for reading Qlik Sense .qvd file format, written in Rust. Files can be read to DataFrame or dictionary.
Install
Install from PyPi https://pypi.org/project/qvd/
pip install qvd
Usage
from qvd import qvd_reader
df = qvd_reader.read('test.qvd')
print(df)
Developing
Create a virtual env https://docs.python-guide.org/dev/virtualenvs/ and activate it.
python3 -m venv venv
Then install dev dependencies:
pip install pandas maturin
Afterwards, run
maturin develop --release
to install the generated python lib to the virtual env.
Test
To run the tests, you can use these commands:
cargo test # runs all Rust unit tests
pytest test_qvd_reader.py # runs all Python tests
QVD File Structure
A QVD file is split into 3 parts; XML Metdata, Symbols table and the bit stuffed binary indexes.
XML Metadata
This section is at the top of the file and is in human readable XML. This section contains metadata about the file in gneneral such as table name, number of records, size of records as well as data about individual fields including field name, length offset in symbol table.
Symbol table
Directly after the xml section is the symbol table. This is a table of every unique value contained within each column. The columns are in the order described in the metadata fields section. In the metadata we can find the byte offset from the start of the symbols section for each column. Symbol types cannot be determined from the metadata and are instead determined by a flag byte preceding each symbol. These types are:
- 1 - 4 byte signed int (u32) - little endiand
- 2 - 8 byte signed float (f64) - little endian
- 4 - null terminated string
- 5 - 4 bytes of junk follwed by a null terminated string representing an integer
- 6 - 8 bytes of junk followed by a null terminated string representing a float
Binary Indexes
After the symbol table are the binary indexes that map to the symbols for each row. They are bit stuffed and reversed binary numbers that point to the index of the symbol in the symbols table for each field.
Metadata
Release files for qvd 0.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qvd-0.0.15.tar.gz | 526.2 kB | Without provenance | Details for qvd-0.0.15.tar.gz |
Built distributions (wheels)
Total release size: 12.0 MB
Release files / qvd-0.0.15.tar.gz
| Download URL | qvd-0.0.15.tar.gz |
|---|---|
| Size | 526.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee7e45fce0a4ade49eb7d82efda496b0c1fd33a5a894bff26e865d105d63689b
|
|
BLAKE2b-256 checksum How to use checksums |
ae2afe4ba98d8b0d4de89dcfb0720a26cdffe164bbe7f14354467dca550a1279
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp312-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp312-none-win_amd64.whl |
|---|---|
| Size | 513.3 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
46a21be6d75e395080e83c126d17c54b2ee3cde2553a2d0e41d64e3e373784fd
|
|
BLAKE2b-256 checksum How to use checksums |
4e98b974e38f57acdd71d2468bd300f78dcd15ac6bb9ea447fe07c04b6d92686
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4a66688c0897396081d89c2fe5f35531c5401555eaea30dd754cac6b6f91e9ba
|
|
BLAKE2b-256 checksum How to use checksums |
a623c6c6d4f74ed3e9eef6024a46ee31fac90d7bd8ec262282cf3fc2c2e5e621
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp312-cp312-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp312-cp312-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.12 macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
84e75bbd84e05ace4d58543a5331c66cb59559cd7713bac6e576b006e023eed5
|
|
BLAKE2b-256 checksum How to use checksums |
33656d3263a5e113a1b62b32aa069114eeaa900f4d55e3bde75214f045f99fe0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp311-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp311-none-win_amd64.whl |
|---|---|
| Size | 513.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b3dd074d5535c831fbfe7487bcb238af873df8a947da6292905034fb2e1d4df3
|
|
BLAKE2b-256 checksum How to use checksums |
89e1b8d51a7ec45804623e30dc960ab800b261466672d8c450879d3254f15329
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b67fa9918ed2da99593201831bcd4f7a59addc9882b142d886f2abea07a5cdbe
|
|
BLAKE2b-256 checksum How to use checksums |
854c1f0dcb83b723823e35f3ff154dbecac558ba81ce84f7073e8564c9cd435b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp311-cp311-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp311-cp311-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.11 macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
57aba04bea1d10922f81bb0d0c85f2fb75c722dc16604b10e95a53263506b933
|
|
BLAKE2b-256 checksum How to use checksums |
3ed6fcd225c662c7f09dbd42fd752cad39019b516aeaa1bcfa0123ff9587eb60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp310-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp310-none-win_amd64.whl |
|---|---|
| Size | 513.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
db4b2e0fc76d776087b8ed8d1c66436029442770a7386ad1b78e8fd9955f1f1f
|
|
BLAKE2b-256 checksum How to use checksums |
727dd2c0876e15e6d173f5c4b96e3f9286428567acc4ea06e4f82f47f11b8861
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
907b5a0c9c4a76a47161367823a50994b14e541c4ca821651a6fca76b230a854
|
|
BLAKE2b-256 checksum How to use checksums |
8866fb3198cf6bb28f72d76a7be3840c4a4353fb3468483a0efc97c6187057f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp310-cp310-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp310-cp310-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.10 macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
3dc8f99315f1de6b72bdaa2771ed8a17bb1a081554643d6fe94f93ed02b4179f
|
|
BLAKE2b-256 checksum How to use checksums |
34e90650dfa1040a965e96bce66d0d50f9c500da57e8dce49f484875385fc701
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp39-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp39-none-win_amd64.whl |
|---|---|
| Size | 513.3 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7906f9730867914f0525990daa0909fbfd8ec6f5c30c34e5106a97ae4b1ea4ed
|
|
BLAKE2b-256 checksum How to use checksums |
2fd6786ad80a119ddebd95c9876b40f6503b0ef1a694e5d313408814103ddbe3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f3d5f1e03a06dab9052cecad56db6293ce6e827a70723de5bf5079b8f81bdf42
|
|
BLAKE2b-256 checksum How to use checksums |
ffb393a0d98daa3b5bc7c72238d7cc9c28f117bfc757e72eb9e35caca11fc232
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp39-cp39-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp39-cp39-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.9 macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
3b108831e4bde9671df1f5012ea89d5995600ec15741c09146ff7fcfcaf64154
|
|
BLAKE2b-256 checksum How to use checksums |
2f54e4d14e6d55138332d090ca9b6541f7c34c8fd0564735963944c0647953ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp38-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp38-none-win_amd64.whl |
|---|---|
| Size | 513.3 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1d4a43a8e406c59be25c142f7d8e84d387a9b93ef39299ca318f6401241337ee
|
|
BLAKE2b-256 checksum How to use checksums |
89654fd98c0ff67b5028818fa3df8cab7732c521acd385f9ea3732cbe93fd988
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp38-cp38-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp38-cp38-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.8 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7d948e1960140427efd766c213e334c65d9092adb19a398b4c0a7b4a6f3ce218
|
|
BLAKE2b-256 checksum How to use checksums |
bbed6094700c88bb335da06f4c0dc384459949fbc925950dd470d6a2221528b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp38-cp38-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp38-cp38-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.8 macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
37f6a6f1841d6c373a9b59a9d3cf0aab908e56258407142fa726fd19510e2e7e
|
|
BLAKE2b-256 checksum How to use checksums |
329f9924422ca2ff184a90bba1655c45c9a608c05f0f8dee0d9f0f940fa6c7b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp37-none-win_amd64.whl
| Download URL | qvd-0.0.15-cp37-none-win_amd64.whl |
|---|---|
| Size | 513.2 kB |
| Tags | CPython 3.7 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7620cd0e123a084a4c83efecacc4201539a68afe6bf32e180a7d435329b35fda
|
|
BLAKE2b-256 checksum How to use checksums |
37620647753d2b52649c50a820ac37bbfe03a14d010c572edc14ef6a7f42c03a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp37-cp37m-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp37-cp37m-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 610.6 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6bd0f587f56d8b16e3c762222ad04ca4675ff77aef9098b7a5b84f203ad37c41
|
|
BLAKE2b-256 checksum How to use checksums |
52a3721cade93bc9d543af377e4516f6f5f1e7abd69218db6dfed0bc81600761
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp37-cp37m-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp37-cp37m-macosx_10_7_x86_64.whl |
|---|---|
| Size | 588.3 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
d32ebeee19b47f85394de710894ae94675d19bd5e56daf127f7a4b1eb16cfec1
|
|
BLAKE2b-256 checksum How to use checksums |
2357adf463b11e0475aacd02ddd659b1fb915b75b1744352cd68ffb56b58b690
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.3.0
|
Release files / qvd-0.0.15-cp36-cp36m-manylinux_2_28_x86_64.whl
| Download URL | qvd-0.0.15-cp36-cp36m-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 611.0 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
afb593ecf994b3c9608df7428e09826d0eff6721765cf55049ef0283a04fb70e
|
|
BLAKE2b-256 checksum How to use checksums |
c917cf89da4a34f47251169a6e48e45b9e7bd67bef81983e8ddf4fea322e7354
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/0.12.20
|
Release files / qvd-0.0.15-cp36-cp36m-macosx_10_7_x86_64.whl
| Download URL | qvd-0.0.15-cp36-cp36m-macosx_10_7_x86_64.whl |
|---|---|
| Size | 576.6 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc macOS 10.7+ x86-64 |
|
SHA-256 checksum How to use checksums |
ce698828831cbb2c0e646dbbf5115e7be8662c7077433db46296d203a9e74ada
|
|
BLAKE2b-256 checksum How to use checksums |
dfcab91c4016c3e63b07571b883e7ba7f8f0d40170a45b5187684953f64ac0c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/0.12.20
|
Security for qvd 0.0.15
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.