Openmined-psi

Latest version: v2.0.5

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

1.1.1

Chore:

- Publish new `python` wheels to support `3.8.0+`

1.1.0

Bugfix:

- Fixed an issue when computing an intersection with the client's set **larger**
than the server's set. In this case, the intersection reported more values
than possible. e.g. computing an intersection with a client set of 100 values
and server with 10 values sometimes resulted in 12.

1.0.3

Bugfix:

- The Python builds were using the older `manylinux2014` tagging convention
which was causing issues on systems that expected a specific glibc version
(Ubuntu 20.04 uses [2.31](https://launchpad.net/ubuntu/+source/glibc)). We now
use the latest `manylinux_x_y` tagging convention to accomodate different
glibc versions across linux when building wheels. This means we must support
`python 3.8.10+, 3.9.5+, 3.10.0+` and `pip >= 20.3` in accordance with [PEP
600](https://github.com/pypa/manylinux)

1.0.2

Feat:

- This patch version relaxes the Python requirement to allow for older
`protobuf` libraries to work with the PSI library.

1.0.1

Feat:

- Update the Python bindings to take in an optional `DataStructure` argument for
`CreateSetupMessage`. This allows the user to customize the behavior of the
backing datastructure - i.e. to select between the default (`GCS`) or specify
`BLOOM_FILTER`. The previous behavior always selected `GCS` so if the
parameter is omitted, the behavior will remain the same.

Ex:

python
import private_set_intersection.python as psi

c = psi.client.CreateWithNewKey(...)
s = psi.server.CreateWithNewKey(...)

...

Defaults to GCS
s.CreateSetupMessage(fpr, len(client_items), server_items)

Same as above
s.CreateSetupMessage(fpr, len(client_items), server_items, psi.DataStructure.GCS)

Specify BloomFilter
s.CreateSetupMessage(fpr, len(client_items), server_items, psi.DataStructure.BLOOM_FILTER)

...

1.0.0

Breaking:

Our goal was to get CI working after 2 years of dormancy. Part of that journey
meant updating almost all dependencies. There are no functional changes in this
release; however, there were many updates to the tooling which meant we needed
to deprecate a few things.

- Python 3.6 and 3.7 are no longer supported and are superceeded by 3.8+. For M1
macs (arm64), building python < 3.8 is problematic. There is a breaking change
in the import structure. We simplify the importing logic to remove complexity
between the development environment and the published wheels. See the
[code](private_set_intersection/python/__init__.py) for an example.
- The pure Javascript builds are no longer supported or packaged. We're making
this change because this variant is an order of magnitude slower than WASM
(which is already slower than the native builds).
- No longer supporting rust < 2018
- No longer supporting building on Windows

Feat:

- Updated to bazel 6.0.0
- Updated to use rust 2018 edition
- Updated to support go 1.17+
- Updated to support python 3.8+
- Removed all remnants of the custom emscripten toolchain (including the git
submodule) in favor of the native `emsdk` bazel configurations.

Chore:

- Upgraded all dev dependencies for the entire project to the latest possible
versions that were compatable with each other. This means we have changed
forks for PJC to another that contains the latest upstream changes but with
updated/compatable dependencies that the project requires.
- Updated tests to use `-c opt` for all CI tests as it was noticeably faster
- Updated all dev deps for the WebAssembly builds. The WASM build configuration
is not entirely migrated to bazel and still requires the use of a few npm
scripts to build, compile, and publish.

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.