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

Uploaded Source

Built Distributions

pyqrlew-0.3.1-cp38-abi3-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.8+ Windows x86-64

pyqrlew-0.3.1-cp38-abi3-win32.whl (2.4 MB view details)

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

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

pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.4 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.9 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.4 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

pyqrlew-0.3.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl (4.6 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.5+ i686

pyqrlew-0.3.1-cp38-abi3-macosx_11_0_arm64.whl (2.9 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.3.1-cp38-abi3-macosx_10_7_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a11680be1c468e0d934db2fabd51353b230df96ecb713448b3b73b6e2c33de5b
MD5 27b7b3a5644ad637b7f6936f0ae05af6
BLAKE2b-256 a7ab028122c69e29ae1b780e49d5869490e824e1d3d2e86cf1be81dfc1984ca5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 aa804b14c83e6c6498d0b21626633aa443a2a7decea0ac80847c99c317aad57b
MD5 97502777328f63071833a81e3ab2bb10
BLAKE2b-256 e3fdc4de10bdf6cc098fd77116a1a341ce720c8e5351fa362731a39c85b10105

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 1e8ae1dc658ce6d857b4f20bd6ef9e73cda2fcdc02fba5492b4e7919109262ec
MD5 8356a160794aef993f839c8a22933d55
BLAKE2b-256 4991909e53e87f4e34edcd4b7accec7db5982b3b2da49bbed7f674d89a361f4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ca7e824c78c82614640657b0750fede9ebcbabd4c6efdc908edaa9b96503928
MD5 d3d177435861dc1af8cf37be66fab25e
BLAKE2b-256 601004e272063e696eeaf47f48e5ac18f965f88e7bfc7393ca151cd927bc598d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 28b9d4a23af7302ab9bfaf66fc37e3af349681de3c35a23cbc0583f8f129c299
MD5 3e0bef3c845146ccd35c8098bad445c0
BLAKE2b-256 c39257cac7f39484b8d94ad0d70ca66fa78dc8e73cec35aabbea448d27a9d057

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 abc0587633a793fc4b1999e11e97383d04e11c8f8d2081ba7e695d8f5b93c03d
MD5 3c4dde368a9f9001008ce0e921c98f01
BLAKE2b-256 5a75c28c59c4fdc2ddf9a63f632f060042b10b57915982dd4ad78f2c227fb6f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bdeaf323420a4cb8847ef6b6dc41d978660950ca6c6bdbe8e61729da63619f2e
MD5 f5241900c848674e0c204c593d278cbf
BLAKE2b-256 3ccbdc2b19c2dcc9fd744b8e807870b1a02972a0e60671f682e1a43341b96f46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e5faa80ce1a8fed0c20489eafb2c8581955d999e60a7f78ba45010fbbabbe1a3
MD5 2b41114c5932d484ad84ff995e2f20df
BLAKE2b-256 083d145875e5bda5b7d0371d1dd527d1a94dff47c761e11fd4b66fed67f7aa48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 f397addc6e27aa322d468a62fa97ca152060b4c4712afe3b80d7af90707e4869
MD5 2d39d3853bbd2eebe1acf00811491242
BLAKE2b-256 1b7cbe94bb6b6238e97303f9722e7fc42dd9ab4fd2648f5126b165ea97d02329

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bcb6dd3bcc0c412b71e2e2f47fb0d312aa66061510f2e601f2f45187a18a100
MD5 aa0a98641ae265bd3ac1c279a7dd3180
BLAKE2b-256 00580f8d4f06c7e4209341fcdf29c7fbad72f02b4359fd7433476b7bab8ae6bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.1-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 625c66fe08fb25cc2769769128fd1ddc95b912e0d6bef330f4cd6650bb73f08f
MD5 2c695550ffa6e4d94d267a24ca03e9e8
BLAKE2b-256 0cf55dfcbd9a1c249f718c3032f9531ff8c34cea9a8c1220bd78456fcd778afd

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