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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.3.6-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.6-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.6-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.6-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.6-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.6-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.6-cp38-abi3-macosx_11_0_arm64.whl (3.2 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.3.6-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.6.tar.gz.

File metadata

  • Download URL: pyqrlew-0.3.6.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.6.tar.gz
Algorithm Hash digest
SHA256 b59aed8c86e1130d4cef06e78dfbdc0c5a685139683da9a6f9cfd4b24f083c49
MD5 3e0d4721d5d26b9e30851d5fedb671ad
BLAKE2b-256 fcf8a0c8c079a973afafa32e57122e062335ab744b86140832d3a67400b265d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 352fd00e052947d8bd3903539512105800e610b128e5bef077e38459e37717bf
MD5 349c89fa0c5195549fb3fabb7a74577f
BLAKE2b-256 d2c5509009445907e6e5ba71c1e2f0df0c5c25f94e0518afb229b06d1c8164d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.3.6-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.6-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 a29bef27a74e53410923f226e2813872b5a6dac72e9b2d133efb66e1d79e008b
MD5 0e17a7398e871dbb7705a30b05fe9c1b
BLAKE2b-256 9124b4540c441e9e125e276beff3bc2bc0432ea651401598a9d2444a5ca43f7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f05fb70124f17af0d2a0b683d10cb97ceed64c2544dfcf4706707a2607576f6
MD5 a6fbe9ef1ceca1ed6a3d05c0974a96ed
BLAKE2b-256 2e6aca18dad633206a1f785b36fdb22ccf29ec92514d8df0561b24c83e17ded1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0a0c535c3dbb70c69890561c8599850fd93bb01e2c6bf42594ead277d03e57e9
MD5 e455eef6ea02207ac2623ca8dff5e895
BLAKE2b-256 8a3f57c2d1188b6f0e5dd5c3bb422a9975e7bf42eb9c402be2d57fff6cf439bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4d6320d7c28862c6144eda24d89fa2867d652ddb5e289f40a7a90d97ddc1c4cc
MD5 82e515aa0329a744883a2276d7512b9c
BLAKE2b-256 3215f3ce1e53ea0ea8742263e4e0ba3d5e8a2cd5edc66bdc48bc5e69d3d9d86f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 71ed348ea7ee96b29959c49d802b66625b9eebc80ea680beddca35d6a5418b53
MD5 7d36dd69b453476543d5cf8bd81ccc62
BLAKE2b-256 1cd8c3ed75d604dace909d1f4264637d7818e15b9c256153daaa8bc12948a026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 68926e47286f06b379c13712497ca7ad470980563c2724ac6fe3f225112dec82
MD5 6e8e5529d5a0bf7c980d4cda1f6f2af5
BLAKE2b-256 306b6c653013eb8f3772340d9fed33ce93bb79a8879d2fa3cdeff7897dfe3aba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 43ad631419747c299b2910c8af0119d97f2dc30c5eb9bbbfcd0fd67b17654a8b
MD5 04c723673325713c383144a59a913e5c
BLAKE2b-256 c17d7169ae4984b0af9b2d021f1a346d5958b1c84aa0727311b48d08b4659a85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10c1ad76c065bb7abc21108734a9dea8e5b464a92ab83516f56d3e38b52c18d0
MD5 c1ae6440d3bb0bb53067bf7d8d55fc82
BLAKE2b-256 722ed11d9bd93ff18e897a48ed7ab8ee104354a47d5074e16d4398bf92567e14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.6-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 81a743edf9eddb5059ee0e927a880eeb7d3cd023187a4f37876c7568db575720
MD5 6ddee46aa0e9d3063136a97f4940d994
BLAKE2b-256 182ec1628539bd8fc9a13fd7a26e66f74da992b1929c427f88b7bfee41326d64

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