Skip to content

Installation

  1. Install uv package/project manager

  2. Install the project's dependencies

    uv sync --extra dp --extra examples --group dev
    

The dp extra installs PyDP, which the differential privacy backend needs, and examples adds pandas for the example scripts. Neither pandas nor the optional he/smpc backends are used by the library itself.

The component targets Python 3.10, which is also what the container image runs. PyDP is consequently held at 1.1.4: version 1.1.5 requires Python 3.11 or newer, so the two cannot be combined.

Those two optional extras carry caveats. he installs Pyfhel, which publishes no wheels and compiles Microsoft SEAL from source, so it needs a C++ toolchain and CMake. smpc installs MPyC; PySyft is deliberately absent, because its pinned numpy and pandas versions cannot be satisfied alongside this project's, and uv resolves every extra into a single lockfile.