Bindings for Brave's Ristretto-flavored Privacy Pass library.
Project description
python-challenge-bypass-ristretto
Python bindings for Brave's privacy pass library using the provided ffi APIs.
Usage
The API largely mirrors that of the underlying Rust library with a few classes thrown in. For example:
>>> from challenge_bypass_ristretto import RandomToken
>>> print(RandomToken.create().blind().encode_base64())
QxE220HfZvvOJSNdDx3hgYNfQntxeT+mkRr55LNMNyYdXdFOfkrHRoQz+MXlqfyoiWPWc7dG3k4sa5ZWDv+9WtPkZf1uZVhTwBW4YKgyPXK3jj4Ig7kKDjcGMGtoCdgJ
How to install
Binary wheels for Linux (manylinux2010), macOS, and Windows are distributed on PyPI.
pip install python-challenge-bypass-ristretto
How to build
The Rust FFI library is a git submodule, so to clone all sources needed for a build:
git clone --recursive https://github.com/LeastAuthority/python-challenge-bypass-ristretto
Then, with the Rust and Python toolchains installed:
python setup.py build sdist bdist_wheel
pip install --editable .
There is also Nix-based package which manages most of this complexity for you and only requires a checkout:
nix build
License
Currently the same license as the Brave's library, Mozilla Public License v2.
Copyright
Least Authority TFA GmbH
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
Hashes for python-challenge-bypass-ristretto-2023.1.23rc2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 033c569a6b1cb79a06457897e71e786a5940e132d619a18ed3950566c8f2f68d |
|
MD5 | 6aab41096d1ab66e5443a369d23e1774 |
|
BLAKE2b-256 | 5b28786f2ac083a64da406663cbb0f5ad378d7f869aeca342d7f7c0d99d8bc47 |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e06ab76b2441a4f4ee2e8237abf97832672a3ffb5142cc62ebbf8f14b7fbbb |
|
MD5 | 08648c9ce873dc252f26a8b364ca7334 |
|
BLAKE2b-256 | c35ea58b11b747768feee95b75ad2861317bfc27ce3f3189afbe4715c4dc00d5 |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78291a6c997429a417e1f5c6ec37cbe31f749a7a909e844597d28ff5953eb987 |
|
MD5 | 1b715751b8b158e880c411163a0f1473 |
|
BLAKE2b-256 | f637d4cd885620309f25d1fcd322eb08f49a3dc09315f3c33fbcbe5ee4b5222d |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d6504b290d391b13ec006e65d8dac64307a4c659f9c1737d0bc5270238f6a5b |
|
MD5 | 1b519dc04027e3b01f89c8c44ac4a1d8 |
|
BLAKE2b-256 | 7642a7088b303c8ce67ca0a52e5cb6e3d43fecc3ecc83859960f529fb256d1b2 |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4388db0c625455304889819ddfa285ed76c33904f7e941b16216a595230b5a1f |
|
MD5 | 960909b21daceaba1afe610f8c3f7039 |
|
BLAKE2b-256 | 0e96f1c44b1de192b4078a4c51b77cf7fbf564b946a3b804129c5f221549334b |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f27d987ab60a157036690540de1e553604ab53e2e06449421c5b31662309c82 |
|
MD5 | 01ae345123d8c4ef8b0c065eedc8a929 |
|
BLAKE2b-256 | a0ccc385ce8a0d00878b38c9a4949fe242dcd734d366d23e565228a8e7c5ecf4 |
Hashes for python_challenge_bypass_ristretto-2023.1.23rc2-py2.py3-none-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6b5439161f642228b4c13c6caecbf8ccd6535120e92f0847e1bb2c5d062c598 |
|
MD5 | f9c20554947b66486a723922f70d7d2a |
|
BLAKE2b-256 | fd69afed0e7a7f1277b15e7c76463e12aad95ef84785a51351c04f6e07ab2fa7 |