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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.8+ Windows x86-64

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

Uploaded CPython 3.8+ Windows x86

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

Uploaded CPython 3.8+ macOS 11.0+ ARM64

pyqrlew-0.3.2-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.2.tar.gz.

File metadata

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

File hashes

Hashes for pyqrlew-0.3.2.tar.gz
Algorithm Hash digest
SHA256 7bf2bfe32a44d362442a047b41bb9168f3e83073c764838494389643bd023cac
MD5 cad735c4fc014e64030f0b0229728ea5
BLAKE2b-256 d533216b4532857b7da10ec91d181e66b7e4c66768d0cd2714c2dc03b70c4dfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 520419e2e40f5f6547ec44500d1c9824c79378e2bc39ce5e144de2edc369811b
MD5 4769196277416a5d29fbb553dbb7ee4f
BLAKE2b-256 637a687655a071e650d76edce7df6b6f5d79dfcdafe70f84984867556dfef485

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyqrlew-0.3.2-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.2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 bf9f7014267e1f71506ff0125359d73f0202464e951c3cdebae345cd82894627
MD5 90fd24a3273dfa1ded417b5d1db32feb
BLAKE2b-256 e2fdf89423dc842e4d2da3e0b766bd40447b76563a1b2aca46f2597ddd16c86b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d408c970ddb85b82d9e17d92a43994c9a1489ddcd1782758722515f002c1327
MD5 40f0dc323f8cfbf4487da85b1e6ad800
BLAKE2b-256 8c374584c8767fbd7ff7e8e5dbf020559b18827d4d69a369a002e33723230685

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 777df97edce74cff5a3a0202be38dfc785b82979d46d7f1024cc98d475b7767a
MD5 8b6e4ad609b0db866ebc337331513b79
BLAKE2b-256 6e9e8d3d1a01b06b93a3f6986de9ea54be4fa793d992633b20f222e6c286e848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 278baf16dc2a3bc1473b2f95f38aacc1ab23eea068e44850962bc094669c9358
MD5 57ff13f9b82094e840a46cf0fa51a442
BLAKE2b-256 9ebfc4b71cfc532e6119e879adac447a3bcd79ad283cb749eb048ef9a0894ba9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 18f02aee8cc65c423ef250a4d4cbc853645e42467f026a7805852ffec536351f
MD5 b4779dc496257b920748b9aafca22f97
BLAKE2b-256 f540e754a5a62f626628592cd36c880b508d842e228ac7838e3acac3c85e4dff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c932bad2fb9af0b3a8c304acad977bc81fa903ba54c905396d8cf31d27954357
MD5 5086d474860d4c4918711841e5c3d1ed
BLAKE2b-256 b8fa6eaf970f46fb80f9dba32a25d0d9107223cb58ff6acfbf5cada50959ca0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 281f09f70a942d33e1c376ea9721bfd224ae92a77d4ec76f86e1ac823772becf
MD5 7fc96e093f207688706ffb07ae9e0834
BLAKE2b-256 e00f6edfe339c759af92a568df0c54ca4ab2051b0f16bbcc2edcf3ed9769d81e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 820e46fa583c109e5678c25c78a8de01e2a47aeb321e2fe3ce054222ccf6f065
MD5 cecdcb4333dedf4045b0c18c7b2919c5
BLAKE2b-256 6722666fd61e3653e56ae3650611cbdbfa7c7aa1118bec7683ceac61720a7062

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyqrlew-0.3.2-cp38-abi3-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 6279225a8b565a59161de794c728ce5c15dd3b4cf05038b467c05a281ae8d575
MD5 2ac6a14b8bf4ce3b7eb735c581b09bed
BLAKE2b-256 61df6557e511e01751d76ea93226f35708e7f29a3d5f4ad88427af73214376d9

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