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 :py:func:`user_domain ` Measurements :py:func:`make_user_measurement ` and :py:func:`then_user_measurement ` Measures :py:func:`user_divergence ` Metrics :py:func:`user_distance ` Transformations :py:func:`make_user_transform ` Postprocessors :py:func:`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 --------------- .. toctree:: :titlesonly: measurement transformation selecting-grouping-columns