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.1.tar.gz (64.9 kB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.7.1-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.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (6.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.7.1-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.1-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.1-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.1-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.1-cp38-abi3-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.7.1-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.1.tar.gz.

File metadata

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

File hashes

Hashes for pyqrlew-0.7.1.tar.gz
Algorithm Hash digest
SHA256 bf2f15df13c09c413d59b9338398b0ccb45dc2ff92ffe283ef59eddbe4ac9a4b
MD5 724d599e9c7f564b0d5907e8c2f2671a
BLAKE2b-256 1eb07b4928ae4d0daf39adce484305d84bda9dd8d9087dcf12e5e75fc57d171f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 27ee6facb8f01bf2b5c53767fdaf91e0b03c7b48527c82ce33457c42ab9b7e2d
MD5 b34aec07c452edfdea2daaf8e2f61b15
BLAKE2b-256 a334836c77d44b92f8be58f38a5639b01ea5099d896a3b619d20c3f7e33ca40e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.7.1-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.1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 ed92aa1fc62eb2745bfa058a017468d0cdc7212fc16b87540a4888bd56c1bd0a
MD5 94dd4915cb46662ba386233baffed3d0
BLAKE2b-256 26ffc9b9730a72cec0d2c610f24d939ddb5db087fc57227635c564cf652c289a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7016dad7e990f957c4c2f9f1843afab9931dc36e122e274e2396b9ff4b0c166
MD5 27624c498480cfb6f054e7711a0e7146
BLAKE2b-256 93df05f836f40472d114087817008c7ddc659d46195ff1e88e6ac4ee8a547f16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 c99bb48861497736123e24995376973de2c2ddea9168b30b35c565a14e4d2476
MD5 07c5c72e8e553ffd764a1076fabf5ec4
BLAKE2b-256 be68e9e2fd2ea275015b0cd7da140d8983c77ddb6fbdaeb721281b4c69185cca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 87ed6189df366528d5f84facbe60616807b423156cc7fbf975c5da1a84df5124
MD5 7d98d969c08d876e6fe7a536f92cc8dd
BLAKE2b-256 fb6f8a1106f64c98672dee4d183d5d8544824b503915d2cdfe2872440b27cfe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 10319837da0a5a3c9efbed61bc8808a0c6e0cabe3f127c444e58ef323b764473
MD5 06e7849340df61e411ddd850c1a2b5bb
BLAKE2b-256 6967e8340b9449d9288c5598cb5f230368038440f206f770f26368283af20916

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 12811606b11be8b285221a607b14ccdb8600db3615dd9a8e4f5fdb0f809917a2
MD5 9c4bb5c56de32bc14d8c636558f93d85
BLAKE2b-256 9b23c68a6e08380199d25e4cf2bffd02a1fd1152c29401c33863a250b8ea2f85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 cc80f7d4139336663459ceb49c08d25fff7d146d1a5a77c51b45299c4b77b361
MD5 405e2cb87d93d1c4a4b9a637b7fc994e
BLAKE2b-256 c760badd43debe20b97a123ff34e1e766a030f276c8ea092acd7e3e6e506ee2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a900b2c6ecb23172de525d55f70fdb92d091ff3706ef0e1274d62fb786a71a2
MD5 09f19495ac9e9151d61b5fbceddcc46f
BLAKE2b-256 6b0f42780ae0a9eaeb9911cde36ae81ca957ab36063e9995ea3cfe3a13532c79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2d52f329e7306f43397374197d05e9f0fcd38f686e0eabfbbd7585057e495dbe
MD5 bcde84adcfe86e492531b69117a32f53
BLAKE2b-256 4fa60191423efb9c9ee918dad5c7488e55c493e6562a7e7a6dbe930e32468bdf

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