Experimental Python bindings to Signal's v2 groups implementation zkgroup
.
This project provides a Rust extension using PyO3 to define a signal_groups
Python module.
See here for a fundamental limitation storing secrets in Python-allocated memory.
To use the wheel distributions you do not need the Rust toolchain installed. To install, run:
pip install signal-groups
You will need both Rust and Python 3.7+ installed on your system. To install the project in your virtualenv:
pip install -r requirements.txt
python setup.py develop
Then run the tests via pytest -v tests/
to confirm all is working.
Tests are (mostly) ported to Python from the upstream crate.
You can use the tests as a reference for how to use the library (start with the integration tests).
When developing, simply run python setup.py develop
as you make changes to rebuild the library.
This script will handle compilation on the Rust side.
See instructions here. In brief:
docker pull quay.io/pypa/manylinux2014_x86_64
docker run --rm -v `pwd`:/io quay.io/pypa/manylinux2014_x86_64 /io/build-wheels.sh