Skip to main content

A library for reading Qlik Sense .qvd file format from Python, written in Rust.

Project description

Read Qlik Sense .qvd files 🛠

CI pipeline

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)

example

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.

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

qvd-0.0.15.tar.gz (526.2 kB view details)

Uploaded Source

Built Distributions

qvd-0.0.15-cp312-none-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

qvd-0.0.15-cp312-cp312-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp312-cp312-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.12 macOS 10.7+ x86-64

qvd-0.0.15-cp311-none-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

qvd-0.0.15-cp311-cp311-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp311-cp311-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.11 macOS 10.7+ x86-64

qvd-0.0.15-cp310-none-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

qvd-0.0.15-cp310-cp310-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp310-cp310-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

qvd-0.0.15-cp39-none-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

qvd-0.0.15-cp39-cp39-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp39-cp39-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.9 macOS 10.7+ x86-64

qvd-0.0.15-cp38-none-win_amd64.whl (513.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

qvd-0.0.15-cp38-cp38-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp38-cp38-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.8 macOS 10.7+ x86-64

qvd-0.0.15-cp37-none-win_amd64.whl (513.2 kB view details)

Uploaded CPython 3.7 Windows x86-64

qvd-0.0.15-cp37-cp37m-manylinux_2_28_x86_64.whl (610.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp37-cp37m-macosx_10_7_x86_64.whl (588.3 kB view details)

Uploaded CPython 3.7m macOS 10.7+ x86-64

qvd-0.0.15-cp36-cp36m-manylinux_2_28_x86_64.whl (611.0 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.28+ x86-64

qvd-0.0.15-cp36-cp36m-macosx_10_7_x86_64.whl (576.6 kB view details)

Uploaded CPython 3.6m macOS 10.7+ x86-64

File details

Details for the file qvd-0.0.15.tar.gz.

File metadata

  • Download URL: qvd-0.0.15.tar.gz
  • Upload date:
  • Size: 526.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15.tar.gz
Algorithm Hash digest
SHA256 ee7e45fce0a4ade49eb7d82efda496b0c1fd33a5a894bff26e865d105d63689b
MD5 1959dc9fcabb38b3c2c4a6445f01b7fb
BLAKE2b-256 ae2afe4ba98d8b0d4de89dcfb0720a26cdffe164bbe7f14354467dca550a1279

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp312-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 513.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 46a21be6d75e395080e83c126d17c54b2ee3cde2553a2d0e41d64e3e373784fd
MD5 4775e699b0b0a76ee4b736740d15dbbb
BLAKE2b-256 4e98b974e38f57acdd71d2468bd300f78dcd15ac6bb9ea447fe07c04b6d92686

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a66688c0897396081d89c2fe5f35531c5401555eaea30dd754cac6b6f91e9ba
MD5 f1c8e9c5a146ef4b2f6d34847ba9fbb2
BLAKE2b-256 a623c6c6d4f74ed3e9eef6024a46ee31fac90d7bd8ec262282cf3fc2c2e5e621

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp312-cp312-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 84e75bbd84e05ace4d58543a5331c66cb59559cd7713bac6e576b006e023eed5
MD5 a68705b17c534d357eb37377b1639dad
BLAKE2b-256 33656d3263a5e113a1b62b32aa069114eeaa900f4d55e3bde75214f045f99fe0

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp311-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 513.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 b3dd074d5535c831fbfe7487bcb238af873df8a947da6292905034fb2e1d4df3
MD5 563a0260ee0772ad51fb87e6fea7503b
BLAKE2b-256 89e1b8d51a7ec45804623e30dc960ab800b261466672d8c450879d3254f15329

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b67fa9918ed2da99593201831bcd4f7a59addc9882b142d886f2abea07a5cdbe
MD5 08ac58cb8612e19b938d939648e1c631
BLAKE2b-256 854c1f0dcb83b723823e35f3ff154dbecac558ba81ce84f7073e8564c9cd435b

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 57aba04bea1d10922f81bb0d0c85f2fb75c722dc16604b10e95a53263506b933
MD5 36e2f05d07b8c2cfabdee27b74f2c267
BLAKE2b-256 3ed6fcd225c662c7f09dbd42fd752cad39019b516aeaa1bcfa0123ff9587eb60

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp310-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 513.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 db4b2e0fc76d776087b8ed8d1c66436029442770a7386ad1b78e8fd9955f1f1f
MD5 bd513e96f0401aa780ef38f645aad28c
BLAKE2b-256 727dd2c0876e15e6d173f5c4b96e3f9286428567acc4ea06e4f82f47f11b8861

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 907b5a0c9c4a76a47161367823a50994b14e541c4ca821651a6fca76b230a854
MD5 de98e35ad558245a20f1dc593372b94e
BLAKE2b-256 8866fb3198cf6bb28f72d76a7be3840c4a4353fb3468483a0efc97c6187057f7

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 3dc8f99315f1de6b72bdaa2771ed8a17bb1a081554643d6fe94f93ed02b4179f
MD5 2d9c9cb49e69f8ad4e0b6c6d6407545a
BLAKE2b-256 34e90650dfa1040a965e96bce66d0d50f9c500da57e8dce49f484875385fc701

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp39-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 513.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 7906f9730867914f0525990daa0909fbfd8ec6f5c30c34e5106a97ae4b1ea4ed
MD5 9624bb3578d17d32ad72a760d6628238
BLAKE2b-256 2fd6786ad80a119ddebd95c9876b40f6503b0ef1a694e5d313408814103ddbe3

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3d5f1e03a06dab9052cecad56db6293ce6e827a70723de5bf5079b8f81bdf42
MD5 a03fc71113957bab8a0b836671e284f9
BLAKE2b-256 ffb393a0d98daa3b5bc7c72238d7cc9c28f117bfc757e72eb9e35caca11fc232

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp39-cp39-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp39-cp39-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 3b108831e4bde9671df1f5012ea89d5995600ec15741c09146ff7fcfcaf64154
MD5 797dc0298e3130f71cbd60f457147c1d
BLAKE2b-256 2f54e4d14e6d55138332d090ca9b6541f7c34c8fd0564735963944c0647953ed

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp38-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 513.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 1d4a43a8e406c59be25c142f7d8e84d387a9b93ef39299ca318f6401241337ee
MD5 e9c48c3afd6a558a7076c0407b914ffc
BLAKE2b-256 89654fd98c0ff67b5028818fa3df8cab7732c521acd385f9ea3732cbe93fd988

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d948e1960140427efd766c213e334c65d9092adb19a398b4c0a7b4a6f3ce218
MD5 fef7e1e31e70950f269e0dbd8f3a5759
BLAKE2b-256 bbed6094700c88bb335da06f4c0dc384459949fbc925950dd470d6a2221528b2

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp38-cp38-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 37f6a6f1841d6c373a9b59a9d3cf0aab908e56258407142fa726fd19510e2e7e
MD5 c7aeb0fb2f810d23ea7d5999fddb4097
BLAKE2b-256 329f9924422ca2ff184a90bba1655c45c9a608c05f0f8dee0d9f0f940fa6c7b2

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp37-none-win_amd64.whl.

File metadata

  • Download URL: qvd-0.0.15-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 513.2 kB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.3.0

File hashes

Hashes for qvd-0.0.15-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 7620cd0e123a084a4c83efecacc4201539a68afe6bf32e180a7d435329b35fda
MD5 d8430dde782e515de8e366c2aa010dc6
BLAKE2b-256 37620647753d2b52649c50a820ac37bbfe03a14d010c572edc14ef6a7f42c03a

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bd0f587f56d8b16e3c762222ad04ca4675ff77aef9098b7a5b84f203ad37c41
MD5 6682e7a6ec1a7c405d5df2e3ba551f33
BLAKE2b-256 52a3721cade93bc9d543af377e4516f6f5f1e7abd69218db6dfed0bc81600761

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp37-cp37m-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp37-cp37m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 d32ebeee19b47f85394de710894ae94675d19bd5e56daf127f7a4b1eb16cfec1
MD5 1ba2e95ce8e0322e3ad75505f9dfe89b
BLAKE2b-256 2357adf463b11e0475aacd02ddd659b1fb915b75b1744352cd68ffb56b58b690

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp36-cp36m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp36-cp36m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 afb593ecf994b3c9608df7428e09826d0eff6721765cf55049ef0283a04fb70e
MD5 6ab5684661a6b0ec5d904eb0da12307c
BLAKE2b-256 c917cf89da4a34f47251169a6e48e45b9e7bd67bef81983e8ddf4fea322e7354

See more details on using hashes here.

File details

Details for the file qvd-0.0.15-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for qvd-0.0.15-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 ce698828831cbb2c0e646dbbf5115e7be8662c7077433db46296d203a9e74ada
MD5 aadbfa91e2aae9891d36c7fdbc02a9b4
BLAKE2b-256 dfcab91c4016c3e63b07571b883e7ba7f8f0d40170a45b5187684953f64ac0c0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page