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

Uploaded Source

Built Distributions

pyqrlew-0.2.0-cp38-abi3-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

pyqrlew-0.2.0-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.2.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (5.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ s390x

pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.7 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ppc64le

pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.2 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARMv7l

pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

pyqrlew-0.2.0-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.2.0-cp38-abi3-macosx_11_0_arm64.whl (2.8 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.2.0-cp38-abi3-macosx_10_7_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.8+ macOS 10.7+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyqrlew-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4938bb6ede65935853f9f952b590053ff94f2e50f82b6334ad2e88800e8ff7e7
MD5 b6029a52e67d7265643e202932493d55
BLAKE2b-256 86d873f9aaa2f559eae2e6cd655c3d5bd92aab4820253da2c40bdf719dac4992

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c1f6583ad694c91ce9ebc3a4f27c56164b65d467658610740560ece1253f678d
MD5 1496b8a91ff71124f4c2406eb306d9d3
BLAKE2b-256 0952ee4862e3522507572fa6879dbba2c72058ae8a7acfbb6c3f92bab07d7ae1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.2.0-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.2.0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 26dbdffd9e9776eb0efcfcf05bc1814f1d6add4a163119f6d5e380a4b73c6483
MD5 787f6b2da839ae8b25ac60ed69727283
BLAKE2b-256 0ac962447511f634337ad97a52850e6f48b75049ded7367e50054429eaf7740b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3240636bcb01afc57310a3e3cbd02061ba4bb4e242ea1dc2db8ed3400cff9072
MD5 7e6e10cf49df9c35725afb470f3e01f4
BLAKE2b-256 5456cc3f14decc128d2ef5adc76319a4fbb6bdc28d54d69af7c5539cc5a11308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 f03f9a2dbcefe2afec82cea44985e5eff8811452835fe52fc0d2053283b37bfe
MD5 e0a566f0b4608f4ad305a8713ed531fa
BLAKE2b-256 fc8557a818b1afba7619ae2453caa6b20a3dcffa3c798e26cea8485480b3e50b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4893032f15f9af2ec452bb51a958fd7fdb6933d7f6bd12d21191ebe4584f1cb0
MD5 86912628b56b1db7ae1b48958fd92ec1
BLAKE2b-256 da9d95dd8b2b597748b1d8bfa46aea146d05e1eb749045fdb825aa0fe9d8d3f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 4d3bce4b3d7cd917318777f714930f29abeb744c300b6d5121b870b247b7e05b
MD5 580735bcddbe194185767bc3f273f2d8
BLAKE2b-256 041e6489f009d8f69757f87536dcd37542d919c2e02df48505749b7703385934

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e6d1a8735ffcc3ddb83d47ed0faf4007ff3d6896803a55cc1eba7e3e23ff9fe
MD5 d4a9d2ecb5c43a2c97d5e0e20669a58d
BLAKE2b-256 d96bbef97a08e4ab8c4efccb10740c006d54b9857df695dae95ba5efe969fba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 43b01a52aca44115afb670ecec7b1370d83c5f65935474cddfb776d9cd158d02
MD5 2e7cc84b8151c8fbc1c47d92262efdde
BLAKE2b-256 45ba3425da860e5193332d13fb65c96077800f6813a07556f4cabc551434662b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8896e92806a7b62ba87c9a9aea30b08c172e1fb5b85248387444db9c9f7b8d41
MD5 fd0dec47fb4d94c0a963d4e254386b5e
BLAKE2b-256 73f14c6c666d12b966421344f3a20b366f22d35af4ce34c6708f51ea8ac57c95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.2.0-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 9fb838d6128a7ae6276a34a127d10db5793e6a530a59b85e11171881f8adeb8b
MD5 d42562e6a9c26c3cd07083483505ed8e
BLAKE2b-256 b543ae9b652a9d80017c5a4341481e24ea4e67d767964c78043495b932751e4e

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