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

Uploaded Source

Built Distributions

pyqrlew-0.4.0-cp38-abi3-win_amd64.whl (3.0 MB view details)

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

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

pyqrlew-0.4.0-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.4.0-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.4.0-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.4.0-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.4.0-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.4.0-cp38-abi3-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.4.0-cp38-abi3-macosx_10_7_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.4.0.tar.gz
Algorithm Hash digest
SHA256 3a1365068b97c4262f798a10fdf584664ec79b0f4e798e937d76ca501694024f
MD5 4a1d27f2304d8860298b4fa08658e691
BLAKE2b-256 99d3a392d5196d58f1d1d1aa5d638eab0914f8970678c2a81f5a5bf9af9652a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f676092a34bd3dc31e6e1e99ec2c4de004baad3ff55c33ce41bf2e86c5a6456c
MD5 16a3050c88041942f637dd65782f40b7
BLAKE2b-256 7e6cb17ed4b4f5bb7080d39b574fec5a61fee81395d46f1ce3be8409234b29d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.4.0-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.3.1

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 4abc1b4871c8ef3c20fdea7d035932455587df94d1cefddc8a178f8c2d5d4570
MD5 6053ae153a8a35a969fbf1cd9b0c5937
BLAKE2b-256 b48e0fc4f23f9e640297506fec159f6b7b5e093ed318796a5bad1b876763d45d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cda35dd72a14874ebc59aa831078f54e6ff1a00e136fcff7a8f747c5b82668d4
MD5 9df036047236da4d6902f57a07720ad9
BLAKE2b-256 334030ce229ca6555de7dd08e73ebaebcb3d73df2633d66b9f6c9493f6faa820

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6032612dce83c05dacc309307c4cf3405cbe8952439ee3afce1b86be366e2176
MD5 3ee1b727463434e70631a9bc8b9f397d
BLAKE2b-256 4a19238a58e9c46794aad42b74c008e5ac11bea18669443e50b1f6f4ed4cbe92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a8e4576be106eb35de93748df5b778f8ad7c3f8f1d8da22a88f6906d664a3756
MD5 6798f748245597122e608c45485404f3
BLAKE2b-256 19cfefb76eaeadf59e0d5701e97353719482cacbc7495327ea206a8b63afcda4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f220e8750ae222a057db8425c86259a4c753cf02056dfb1684de184c608e7f7e
MD5 3c194b1a745acc7f5e2330c200dbb099
BLAKE2b-256 ce1a6d25617b7b106e7757833b569cfc5eaa743c4e06f189be898c6e2955aa69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 14fa39d7fad674c14f03f06a261b31a02bfece1551849916003f848b310cc75e
MD5 8a040c3b19c0cfbfb25743dece7184e3
BLAKE2b-256 cb17c8fb3dc9ea7e70b784c490d4d61fc1d5c1c66476b98da5bf06a32f67ca47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 27d82b3833a4123a32d9b8116206c0b3b7d0742471256ab5e60736a725b234b0
MD5 e1497166aed7bc467f0ef429d2034ce4
BLAKE2b-256 1481a5fa5272c9e0d4ed011e295c6aa920e48955f477de9f5af0767742762257

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf8363e0ba0d0559d2bbcc08586a0f08295e9fc36bdfe8143a83093ad0da56f5
MD5 afeff2fe43f3ec6338c03b9879bc5e7d
BLAKE2b-256 f686b30632559452d6d5862317156208a86daeafaf88646782a1fbd56cde2f2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.4.0-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 a065b7d8bff5123820f44bb6978396597bd070edfc1fa7a2734b2ed99c1cd110
MD5 ac523f5751885e10858cfcd6400a2cf1
BLAKE2b-256 f249b367a689b3d68e737167251b7732eee464310c8ab467cdf37e1ea79853c4

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