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_transform

Postprocessors

new_function

OpenDP itself uses the plugin machinery in some cases. It is usually easier to implement ideas in Python or R 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#