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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.0 MB view details)

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

pyqrlew-0.8.0-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.8.0-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.8.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.9 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.0 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.8.0-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.8.0.tar.gz.

File metadata

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

File hashes

Hashes for pyqrlew-0.8.0.tar.gz
Algorithm Hash digest
SHA256 e9a8ff8d44fb11a46d2f0573651082fccc91f38fe110ec285705c4da9a59c2c3
MD5 2a30d9f317a451fb6a95465728926db8
BLAKE2b-256 17020039af70cdeabc6ae302049b8ecd168b61f8fe5b716a3d25e736a74fd29c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8dd5f981f66822389ed18fc6a8dbe39c1ee110f3dbda6b4f4ae5c506594dca1a
MD5 bb2f8767f96c3754626450d19ff7418c
BLAKE2b-256 a5bb16ed2881210a885256f7161fee3725ab991c87e5896f5fb53eb64a5cc0b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.8.0-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.8.0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 d8a7f0a74860f4944fa9afbd9f89be1c11353588e39a5300f67574fc5ecdc356
MD5 94af1251dea84de535ee97f3f5170eea
BLAKE2b-256 5a28e82e3fe4d4b990474ff252fd3c1bf615fd70a898f03eab9486a6f95db3b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f6d8ced1eea6015c7d92c6d8a5e30b0085c54855df8b90e915a2dbe890b12ba
MD5 92cca153f64860ee707cc276000c6b88
BLAKE2b-256 8da3e9451d5950efa4401a39726b0339e5ea2e2d29f1c7f6e71716ec6f4f9826

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2eeb380283cef7c90d6d9e8210bfea4b9766810830fd3374aade9f86a8a8f3b5
MD5 244dc7ce3f613e0162597fe766814bca
BLAKE2b-256 f89ce43f67e4c7b1661b8f9b33aba7c75c4757b5572ccae31d8c981cb8893fc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dd36f0d51bf2a0a99d3e28c31e30d0a1e6da64f95df54418e99b520ca63ada8f
MD5 58220ff7a74949beaf0d321ce7bb4c9b
BLAKE2b-256 59581bb3cbef0a83cd7660cceeffd381a9e15e42e6d2e5eb2160d1db4905be3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4bfc3d721f52253a98bbacb8a08f75c570672ee1ffd0c59cbb00c9effef54545
MD5 c3a3b4e90c292d35d92e2e747cb96cbc
BLAKE2b-256 13a96b8bb46f354d943dcfd6ee5a68f3f64372dce92cd16001619b99777877be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 66ec1c8e4f69b29a8f1f87f0bd0c4b4a3370763d228795f97becc15130f55da3
MD5 0f2efd0edfeda5ee99be0a121f531576
BLAKE2b-256 33fe0dec8322de0915c14e51e99c54865726db81c9f952a92f07d9df14711f11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 1c5ce3a83c696c2630d791d52e43aae4a00b62abfb79763a4fba768eeaf59c94
MD5 e63cae82d006bb7484d5300579d530df
BLAKE2b-256 111bbd478da8a96fd3ae8179e17c2a336ae6460e920903598d82cd8f2cc16313

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5d934a4bad3c5051bb176a077ca98265e66438cbb9cad1c1e83bf72396791bb
MD5 74a00a0371dee817912026791f0a90fa
BLAKE2b-256 8b863668ac590ed21704a6eaa7d11dbc7b5cec28739a095740532e45e1dc0f75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.8.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 664a50bdf3e2d9a0ed3aa8c58fa2d530173714eb351be85134f140f605b9cb89
MD5 ae21d387c55f4e7fc9fdcf1040176f48
BLAKE2b-256 2686b2f370d24cc863910182e4b51b3775160833f154c1218d3cf57e9a59f7ca

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