Plugins#

Because Differential Privacy is a wide and expanding field, we can’t implement every mechanism for every user, but users can provide their own code through these methods:

Domains

user_domain

Measurements

make_user_measurement and then_user_measurement

Measures

user_divergence

Metrics

user_distance

Transformations

make_user_transformation

Postprocessors

new_function

Privacy Profiles

new_privacy_profile

OpenDP itself uses the plugin machinery in some cases. It is usually easier to prototype ideas in Python than in Rust, so this provides a lower barrier to entry to contributing to OpenDP. If the contribution proves to be useful to the broader community, it can then be translated to Rust.

Examples#