Private Set Intersection protocol based on ECDH, Bloom Filters, and Golomb Compressed Sets.
pip install openmined-psibazel test --test_output=all //private_set_intersection/python:test_3_9
bazel test --test_output=all //private_set_intersection/python:test_3_10
bazel test --test_output=all //private_set_intersection/python:test_3_11
bazel test --test_output=all //private_set_intersection/python:test_3_12
bazel test --test_output=all //private_set_intersection/python:test_3_13
...bazel run -c opt --test_output=all //private_set_intersection/python:benchmark_3_9
bazel run -c opt --test_output=all //private_set_intersection/python:benchmark_3_10
bazel run -c opt --test_output=all //private_set_intersection/python:benchmark_3_11
bazel run -c opt --test_output=all //private_set_intersection/python:benchmark_3_12
bazel run -c opt --test_output=all //private_set_intersection/python:benchmark_3_13
...Add any dependencies to requirements.in, then run:
bazel run //private_set_intersection/python/requirements:requirements_3_9.update
bazel run //private_set_intersection/python/requirements:requirements_3_10.update
bazel run //private_set_intersection/python/requirements:requirements_3_11.update
bazel run //private_set_intersection/python/requirements:requirements_3_12.update
bazel run //private_set_intersection/python/requirements:requirements_3_13.update
...Build the wheel
bazel build -c opt //private_set_intersection/python:wheelOr build and publish in one go to test PyPi:
bazel run -c opt //private_set_intersection/python:wheel.publish -- --repository testpypi --verbose --skip-existing