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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9a8ff8d44fb11a46d2f0573651082fccc91f38fe110ec285705c4da9a59c2c3 |
|
MD5 | 2a30d9f317a451fb6a95465728926db8 |
|
BLAKE2b-256 | 17020039af70cdeabc6ae302049b8ecd168b61f8fe5b716a3d25e736a74fd29c |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-win_amd64.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-win_amd64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.8+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dd5f981f66822389ed18fc6a8dbe39c1ee110f3dbda6b4f4ae5c506594dca1a |
|
MD5 | bb2f8767f96c3754626450d19ff7418c |
|
BLAKE2b-256 | a5bb16ed2881210a885256f7161fee3725ab991c87e5896f5fb53eb64a5cc0b7 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8a7f0a74860f4944fa9afbd9f89be1c11353588e39a5300f67574fc5ecdc356 |
|
MD5 | 94af1251dea84de535ee97f3f5170eea |
|
BLAKE2b-256 | 5a28e82e3fe4d4b990474ff252fd3c1bf615fd70a898f03eab9486a6f95db3b1 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 5.0 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f6d8ced1eea6015c7d92c6d8a5e30b0085c54855df8b90e915a2dbe890b12ba |
|
MD5 | 92cca153f64860ee707cc276000c6b88 |
|
BLAKE2b-256 | 8da3e9451d5950efa4401a39726b0339e5ea2e2d29f1c7f6e71716ec6f4f9826 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eeb380283cef7c90d6d9e8210bfea4b9766810830fd3374aade9f86a8a8f3b5 |
|
MD5 | 244dc7ce3f613e0162597fe766814bca |
|
BLAKE2b-256 | f89ce43f67e4c7b1661b8f9b33aba7c75c4757b5572ccae31d8c981cb8893fc0 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 6.3 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd36f0d51bf2a0a99d3e28c31e30d0a1e6da64f95df54418e99b520ca63ada8f |
|
MD5 | 58220ff7a74949beaf0d321ce7bb4c9b |
|
BLAKE2b-256 | 59581bb3cbef0a83cd7660cceeffd381a9e15e42e6d2e5eb2160d1db4905be3b |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 4.9 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bfc3d721f52253a98bbacb8a08f75c570672ee1ffd0c59cbb00c9effef54545 |
|
MD5 | c3a3b4e90c292d35d92e2e747cb96cbc |
|
BLAKE2b-256 | 13a96b8bb46f354d943dcfd6ee5a68f3f64372dce92cd16001619b99777877be |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 5.0 MB
- Tags: CPython 3.8+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66ec1c8e4f69b29a8f1f87f0bd0c4b4a3370763d228795f97becc15130f55da3 |
|
MD5 | 0f2efd0edfeda5ee99be0a121f531576 |
|
BLAKE2b-256 | 33fe0dec8322de0915c14e51e99c54865726db81c9f952a92f07d9df14711f11 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.8+, manylinux: glibc 2.5+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c5ce3a83c696c2630d791d52e43aae4a00b62abfb79763a4fba768eeaf59c94 |
|
MD5 | e63cae82d006bb7484d5300579d530df |
|
BLAKE2b-256 | 111bbd478da8a96fd3ae8179e17c2a336ae6460e920903598d82cd8f2cc16313 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.8+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d934a4bad3c5051bb176a077ca98265e66438cbb9cad1c1e83bf72396791bb |
|
MD5 | 74a00a0371dee817912026791f0a90fa |
|
BLAKE2b-256 | 8b863668ac590ed21704a6eaa7d11dbc7b5cec28739a095740532e45e1dc0f75 |
File details
Details for the file pyqrlew-0.8.0-cp38-abi3-macosx_10_12_x86_64.whl
.
File metadata
- Download URL: pyqrlew-0.8.0-cp38-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.8+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 664a50bdf3e2d9a0ed3aa8c58fa2d530173714eb351be85134f140f605b9cb89 |
|
MD5 | ae21d387c55f4e7fc9fdcf1040176f48 |
|
BLAKE2b-256 | 2686b2f370d24cc863910182e4b51b3775160833f154c1218d3cf57e9a59f7ca |