Skip to main content

Proofbound for Python

Rust-backed authorization contracts. The extension creates opaque names and proofs; the Python decorator checks them before a sensitive function runs.

Proofbound is an early project with an evolving API. The Python distribution is gdp-rs, the import package is gdp, and the linter command is gdp-lint.

Install

pip install gdp-rs==0.1.1

CPython 3.11–3.14 is tested. Release wheels support Linux x64/ARM64 (glibc 2.17+), macOS ARM64 (11+) and Windows x64. Wheel installation does not require Rust; building from source requires Rust 1.90 or newer.

How it works

A trusted application module performs the real permission or entitlement check, then issues a proof for named arguments. A sensitive function declares the proof it requires using @requires. Before the body runs, Rust verifies the exact issuer, ordered subject identities and active scope.

Equal raw IDs named separately have different identities. Type hints and the AST linter add checks for accidental misuse. The library does not decide your policy, prevent permission revocation or make a check and write atomic. Python code running in the same process can bypass a decorator; this is not a sandbox.

See the Python API, guarantee matrix and executable SQLite example. The repository README includes trusted checker and protected function examples.

Attribution

Inspired by Guillermo Rauch's MIT-licensed gdp-ts, Matt Noonan's Ghosts of Departed Proofs, and Ollie Charles's Who Authorized These Ghosts!?. The original copyright notice and MIT license are preserved in the distribution.

Metadata

Release files for gdp-rs 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gdp-rs 0.1.1
File Size Uploaded
gdp_rs-0.1.1.tar.gz 26.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for gdp-rs 0.1.1
File
gdp_rs-0.1.1-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
gdp_rs-0.1.1-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details

Total release size: 920.8 kB

Release files / gdp_rs-0.1.1.tar.gz

Download URL gdp_rs-0.1.1.tar.gz
Size 26.5 kB
Tags Source
SHA-256 checksum
How to use checksums
05d6e8f40310c2e81d18262bc863a3d9e5e42d1dbb078714bf78d8491aee2f5d
BLAKE2b-256 checksum
How to use checksums
d7aaac6a66d5e05870c18280cd42cefee2dc97020a233bf741c14c2a8031b8f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gdp_rs-0.1.1-cp311-abi3-win_amd64.whl

Download URL gdp_rs-0.1.1-cp311-abi3-win_amd64.whl
Size 140.0 kB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b2d2371ffd5d96291ad86a549d27c364f2c50ff3f12dcfab67ef7b96c0780a28
BLAKE2b-256 checksum
How to use checksums
be7235d2b808f2b7823fe55faaef44c43f7c38f22846015cc8e77b3cdc0b7fa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 260.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
fa56966c167d299d95940c35bc90e59a6580cf48ef5d1118a4c86c850d574d93
BLAKE2b-256 checksum
How to use checksums
c58289965edf6f5f4f875d9166dfc0b2fe663d17328e9381870821fa00f19eea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL gdp_rs-0.1.1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 260.0 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
d57dd3985284f02df93fba405105cbd14742d302c63dabe0f7cc4d900423fec2
BLAKE2b-256 checksum
How to use checksums
8abc81fde0e2115902ea681baf1e9b36cc5b70a599188ca4827ea4f8661189b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gdp_rs-0.1.1-cp311-abi3-macosx_11_0_arm64.whl

Download URL gdp_rs-0.1.1-cp311-abi3-macosx_11_0_arm64.whl
Size 234.4 kB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5c0fb9fce717bcb3d5ab625956f4bbeb380ef89bfc1b16e93735544a093970cb
BLAKE2b-256 checksum
How to use checksums
4ee65df9927623a6b613250d41dc1aac25c335cf19f37e4d6db0bdcd15f8c0c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.1 This release

5 release files

0.1.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page