Skip to main content

A library to manipulate SQL queries, designed with privacy application in mind.

Project description

Qrlew framework (by Sarus)

Open source SQL manipulation framework written in Rust

What is Qrlew?

Qrlew is an open source library that aims to parse and compile SQL queries into an Intermediate Representation (IR) that is well-suited for various rewriting tasks. Although it was originally designed for privacy-focused applications, it can be utilized for a wide range of purposes.

SQL Query IR

Qrlew transforms a SQL query into a combination of simple operations such as Map, Reduce and Join that are applied to Tables. This representation simplifies the process of rewriting queries and reduces dependencies on the diverse range of syntactic constructs present in SQL.

Type Inference Engine

Differential Privacy (DP) guaranrtees are hard to obtain without destroying too much information. In many mechanisms having prior bounds on values can improve the utility of DP results dramatically. By propagating types cleverly, Qrlew can returns bounds for all values.

Differential Privacy compiler

Qrlew can compile SQL queries into Differentially Private ones. The process is inspired by Wilson et al. 2020. The complexity of the compilation process makes Qrlew IR very useful at delivering clean, readable and reliable code.

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

pyqrlew-0.3.7.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

pyqrlew-0.3.7-cp38-abi3-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.8+ Windows x86-64

pyqrlew-0.3.7-cp38-abi3-win32.whl (2.7 MB view details)

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB view details)

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

pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.0 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (6.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.6 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

pyqrlew-0.3.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (5.0 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

pyqrlew-0.3.7-cp38-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.3.7-cp38-abi3-macosx_10_7_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

Details for the file pyqrlew-0.3.7.tar.gz.

File metadata

  • Download URL: pyqrlew-0.3.7.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.2.3

File hashes

Hashes for pyqrlew-0.3.7.tar.gz
Algorithm Hash digest
SHA256 bd0b8da315e69669919792fd7d5d5d4afff053a1758aafc9a92d78fef93d0051
MD5 c6a2e98e2279d4b41c04ef276b0fbae9
BLAKE2b-256 31bf4669f3436966ebb7e9ac4d09c2d60be4b2a35b1d824dda2812add506351f

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6e83fb38314b9db0c693941369d63c297f48df70864909e4ec17594f62072ab0
MD5 229847321e0854cffdd387ea00df2a96
BLAKE2b-256 dba534c6e30ad4823063826a9229538f0c5fcf47aee9e326e38e4261e8fb12e6

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-win32.whl.

File metadata

  • Download URL: pyqrlew-0.3.7-cp38-abi3-win32.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.8+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.2.3

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 1469ac3128a752f81693133442ffbaba878221c50045476276201050d6acb3ae
MD5 e0b04a5aabbc00d7fde124749c773500
BLAKE2b-256 c74055654abc7d1ae3944576bbbbfc58347083fad50edba6685e11ff1c25a098

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5fcf078c00c379e6d8515274afbbfaa6963626ecdb7d2dfbc087de4294702749
MD5 56455453dbde68fb40c7aa601d8aa942
BLAKE2b-256 92a05dd8dfc9ec6345d72d7673703a892ff29eb74a326fa5d47c6abd9a8ed729

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3d4b1cd5bcd5dc57e89d39bdb0f640db797efeddc52da8ae28eb8a5ef257c2b9
MD5 00e71dc3a6e0de61822b0e1711688a26
BLAKE2b-256 6ff36598659fa342114fca8a60ee02b6a383ef345c93d6223535a380277f05b2

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 cec31a60393cfc180f669ea6596104b48744e842446ee5acdc71067a0b00d891
MD5 6a40e83889ecd0b52c30fad3b318c0d3
BLAKE2b-256 c5306d50ce1bede505c46199d2c9fd023a9a5f844d48f620b5e92ea38dc786f3

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8ac467a4b51be357cd660e385b9ccc5467c76317e72130ad661ed2152fa435dc
MD5 8486b88b1837075936a710b9c4246d3b
BLAKE2b-256 52890bc1c7730e326b168c49a4a59e941aa61dc7ff8575d6b40bc341068e5fc8

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6e962aeb2389ce0df789d6ea6c0501ee93251e7d50a18329b2d63b54c997665d
MD5 9e28ae4146804ac482544ebd5dd78eac
BLAKE2b-256 111c8781076253fc022ae537c88ac178d44ed8853726faa557c1dffeaa5837c0

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 399180e22f9389cc17f5329e89079a531408b5a6b686e1c68e2cab2e6dd1ed85
MD5 ebca90935373348850bcb09da36d74df
BLAKE2b-256 4960bf9ac0f5fb3c34d66b70196cebeaa39ee380b423d0ca6975e6c66d3c61dc

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8087769e3ee0de994687a14b9a0db0a492ec691c473428a5209e4602393d7db
MD5 87ad7018f4324902cc435072942e1d15
BLAKE2b-256 733876d3fe7bfd1aa58c2d54d35770ce67d4b120c6701cdd4bf7926507ab42c6

See more details on using hashes here.

File details

Details for the file pyqrlew-0.3.7-cp38-abi3-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.3.7-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a62e3a10af341e47077aee4370429c49a15495a6cd3aa8562989b26a7d2e6167
MD5 9a9f89b2e56b9dc5ac90c3518bd04c95
BLAKE2b-256 92e86078b480a4ebadb96f4e0a0065730eb79d50e6236ed223df95fe177a687f

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