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.5.tar.gz (1.1 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.3.5-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.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.9 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (6.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

pyqrlew-0.3.5-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.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

pyqrlew-0.3.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (5.1 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

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

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.3.5-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.5.tar.gz.

File metadata

  • Download URL: pyqrlew-0.3.5.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.5.tar.gz
Algorithm Hash digest
SHA256 e64edf4383ee4d3fbf53e57aa04b2393678261fc0fc340cc7ed5e2b71046426e
MD5 f129fd7443bcbc859c971ce8863f5c92
BLAKE2b-256 5bf0ae7e755fe223261e7a87399b1c1677bab46bc0b84f66202062771e8bba81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d6a899937babdd5eb3c678f98eea4bafd5971f8593a70e031c39fc9721d36d9b
MD5 a854816798e1dd6e3ccf968842c5d6b3
BLAKE2b-256 8d48eb982a44fdcdd777918a37ffe153ad0d4bed032573ad4f98205535ef5d3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.3.5-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.5-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 e55a695505616a643f5af40ee2fa6cff0011a9d4f1a7c50bb006f54fbef939f6
MD5 d4620b391308535da323e2079fd2bf9f
BLAKE2b-256 5eb2e507a9632eb859c5197213df2d41b1f16fd6fabd775cdfe72c8e8cd78fc3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39e2c1f9d42a01764a53dfd16338e25754b26dfac148b485ad37fa6cbcfa1570
MD5 68953ecaba8a60843903437f342ad39e
BLAKE2b-256 d28d8221081913a19f46d0374eb7963ee501e184cf2f9756b94f520de3ac3102

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 8d9def349237cf75f4d9ff4ef00c189bdc412585eeeb80591ecf8d6e239dd677
MD5 40cb2875919b54276b74716028f17250
BLAKE2b-256 7d65a227ba559431ef5ca9e266a22d7b95ee18cb108a0f3a6d9601df16e22ace

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4883c7eb007299aa13fd0d475ba7856df3c4508fc6d4c81b8e93b7c9c204e385
MD5 f89e913c7453e28b85578ae730676afa
BLAKE2b-256 bc82364a19180500c3a33643b9e04142d69e4c1f8c191fcd3c510f8a02cd8ce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b8505e121049f19dbbdaf186f31d65d628aebcc86f0cb490fcfc9768295fe1ef
MD5 acfb7ff4de004d1a14462e2f8ccefe7a
BLAKE2b-256 0bb4542dbee1970b1a96275d403c96b730342346174a745bf3533521a2d5f5aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a95eafa85dccd6fe2d0834281428ec20526d3e5d71a301b37f10a8388807ce65
MD5 70d2e0ada0c3bb8aaa84ec261c1ba6ab
BLAKE2b-256 eb4c298eaabe95963d819ad4ec37e0b298663d0cdb7f7d2947e713f872c385bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9626d90b718987f89eebbbc5acfa058452f4b68dc30957f592acb9de1189c060
MD5 7e5bed1831892f7877caa83c6c445ad8
BLAKE2b-256 a19152b29f0c73cf3be44f85c0ec530e64b9996813e5d40721e13d8c8864511a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c62d95aefa82f82057dcd08bcd37b5a048a2d6623bdc492ee5141f93b40af87
MD5 d43d69293166c5be08670d9a2e74bb68
BLAKE2b-256 3da2099aa7c262c15adba165565bd5f135377dbe82d8325a924aea5103c4fbbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.5-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 72dfd6cc07e5197e470c497958e58a9c3c14357605ce3bc53ad6e5a0d03f3ea5
MD5 8dd051a5891f8f8b6e2238868493a2b0
BLAKE2b-256 966e06eacc0a20d0c313b0f28d258d1b01c19f6d1407bbd3c24a22812aff9dc9

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