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

Uploaded Source

Built Distributions

pyqrlew-0.7.3-cp38-abi3-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.8+ Windows x86-64

pyqrlew-0.7.3-cp38-abi3-win32.whl (3.0 MB view details)

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

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

pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (6.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.8 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

pyqrlew-0.7.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (5.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

pyqrlew-0.7.3-cp38-abi3-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.7.3-cp38-abi3-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.7.3.tar.gz
Algorithm Hash digest
SHA256 e79ce9f498a316d357b279a6172185cb0e50ef663a357e05e3dd968f3ab40bea
MD5 f7b7e6682d5e27861352ae67acccba97
BLAKE2b-256 62bade0ef8d2eac77f2429db61da90e3dce6180ab8b6f3954cb183f5f49f1020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 02d62dbd2708bb4832c6e69cb3e9b4264221ec0da6713327b185469f14b79eb3
MD5 4ecc8c970a35980c573ec6f937272fb0
BLAKE2b-256 51455916021fa520e0bbff9bb2fb932879c6b7ca20e06eafe0576fcd35b1958c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 7f97de64edbe6c55ec04ee1b045af636b12da611893dae155c23d9a74b7136f5
MD5 b7eb93c43efb502caaa59f71a515a77a
BLAKE2b-256 cf5d132c8a17c92b9015bc6e28cd0e308b8a55247f8cc1c2d928eb7af383cc65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bebc5606170280e090a212a928a88070d7dad06bf7b2db9e269dd62e784920af
MD5 84637d6e3e8257fd0853e6750ef63094
BLAKE2b-256 b8f1a0b4b6b8a6e8e62e3ad6e59c5667111c581c938ecd713ca1e5e73b3d35c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e26c37bc324eec90e558abe36577699373e2eb45de4c8626719d622b7066e0b4
MD5 8415a933560396790c8b13f1f8d8cc19
BLAKE2b-256 e5029c01afc9579edecb86c73f7706c4ac09bee51ea04e4f79d415b037b7a9f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 418d81cb14beccdb1da1fe5e0790f53b54b079cac877bcade3f92feb587cdd67
MD5 294229cb9ec2fb791aa462e411584f26
BLAKE2b-256 648d0116247cd027fda3afcc2584571ea3c8fde44dfb45f2e15ddccaf3cdd408

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 871241f354ce4bf1cc89ffb6b155c38f3f3814ae9668787eee7d6e6b306b08f7
MD5 f38202d7bceeb27513939293b03b117a
BLAKE2b-256 a7acf226874131a8b68a86cf92d9d0ed67b551963870cfddf9b720f0ed81c43a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e468bcfce51e5f52aacdc6781f8b3c6bee4aa1696fdd2798b6ea1086ddaae0d6
MD5 ec4e9fa253598ccc003d1074bd450c72
BLAKE2b-256 e70641a246b53f8b10099852285622126cd9b62aa191b8b358147510ad62d74d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 ec630e0229f7ce59419b47bd4d868039d16293099ec7fe5694c9f295f43d0604
MD5 0b336d65d2dfbe469febabc41bc614cd
BLAKE2b-256 45430d7ea38cc44c8bbf6e74500b78109342c20081b2f27eb9bc97642567dcf5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eff312164ecfb39d0546091f4ddbacb25406f34b3751e5ef14f1b23787fbdaf8
MD5 1e774e5fdf478cc1983a4035416e6fa1
BLAKE2b-256 156631a72d3abbbcbe2bf6db3be8f16131b232796d272dd327ccb6a9bf07209c

See more details on using hashes here.

File details

Details for the file pyqrlew-0.7.3-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pyqrlew-0.7.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 afd0cd1d63d0c7d24050d754679d84442b15afaff760d81afa3c2ae5058a46e5
MD5 6f81328415bee104635fc4290513ce6b
BLAKE2b-256 fb3ec44c1f94ce62b8a8a52bd21a5b0fd258a0893feffd4f98efab922a8bad6a

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