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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

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

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.7.2-cp38-abi3-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8+ macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: pyqrlew-0.7.2.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.2.tar.gz
Algorithm Hash digest
SHA256 3a390d788913e852f89226e9dffe089ba38bbfa925addcddd42eeafcacaeb459
MD5 6053e9f36e1da5f46d456eebe2552b7d
BLAKE2b-256 13d1798cc5ba3141433cb3199c4c47dbfaf4d59aa59468bf5f78e9071ef435f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 81fc376bfe9833ba46ee6ace82c672668861430811b3782995cf961b07548473
MD5 ff65733b50d29f21aa1125a2799f7969
BLAKE2b-256 e0f7c1508e8be6981f4a3c73b42e382985ab951a6c1e03349a9d8111d39424b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.7.2-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.2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 8550038631838d015b85913d6f23704ed23604cd60e618961cd6ba8e1bbaf3e1
MD5 95a5ff2c820a14c244afa343e3260938
BLAKE2b-256 cc7f03b7eeee9e24865cd8bb157013e78b5f0f7ace13ae8a3a29bf8b85a4eb51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8e1f142dad95e060da784bc2b6de2013ece04081cd8bfce0fc013ecc7719c15
MD5 c9d5da3843087e8255a40f603398c156
BLAKE2b-256 7f82551f600f0f63e93f7c708983d48862694b3e7d2d3413dc33124d054923f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 4d4f624d9591c13b3a51674b3909d45648cedf23142b0336e2be30bb47457a33
MD5 b112157ce04ae4e77fadf4b70bdca2f4
BLAKE2b-256 0f16029b1c5144455c1ebd50e905f6ae40197df1f0d9a13cb8687ae0cc12d538

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1fb5ba944cac1544d6e178bc1ed924fffcdf5bc21b4133885cd2652565923907
MD5 4fd27f3a5dc7aedf7012dadf583666e3
BLAKE2b-256 5abda3eba6e8f19006f9554c7d0760afe848b0a2bfef543724b93ab77cf05534

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 da241da1da12afbc82952b756b3a64e678e305d5fb24e6db37c00566ba9abac8
MD5 efe9d0502ecba93736484e69eefbd2fd
BLAKE2b-256 3d96911f7ab9a7ec368de4051db022154f7a877c420bbe2e55e44621f74aec28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8a013ac6daff808a2f7f80cb925c93a19a1189add84be23006b4fe624ad6bac
MD5 5b7eb8d6a560967d0f18559775b19d43
BLAKE2b-256 8574d7454f4174840a945d0226660515ce3c60f688655a50f694f18c0cd08bff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 9ea30cd1d49f168d956de6fa7a6555d3cb0ba08ad140ab85421f0d16a3fe88c0
MD5 b70bc1a95ed5789d79424a22bb8cca36
BLAKE2b-256 0ff9e645eeb7d5c333bb4fa0ef6fadf6c8db4996a5212b5cc1f77888c2b745c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 708e7128f6fe45be64210d8967932b592eb05835d5a91c368c8dff8a9d5ecceb
MD5 95da64f06fd189ee70b0f8e24a095d48
BLAKE2b-256 6db6d54edd98ce7941a5eeea99c18a6d099a9a0498c3af25385b33181e44c62f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.7.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f545178cce535543aa44dbdcd603dbbe2e5741f61e8d5cd6760a22e7eb1b41d8
MD5 b783421fa99ebd2bcbe6bed8cc34a362
BLAKE2b-256 f6edaa883b98c605d8757debfebbe132ab0b84c40adc66ad3e30dea127aea46a

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