132 releases

0.10.0 Jun 20, 2024
0.10.0-nightly.20240624.1 Jun 25, 2024
0.9.2 Feb 8, 2024
0.9.0-nightly.20230824.1 Aug 25, 2023
0.6.1 Oct 27, 2022

#8 in #differential-privacy

Download history 280/week @ 2024-03-26 611/week @ 2024-04-02 555/week @ 2024-04-09 145/week @ 2024-04-16 72/week @ 2024-04-23 579/week @ 2024-04-30 526/week @ 2024-05-07 558/week @ 2024-05-14 457/week @ 2024-05-21 2/week @ 2024-05-28 517/week @ 2024-06-04 797/week @ 2024-06-11 1104/week @ 2024-06-18 176/week @ 2024-06-25 1/week @ 2024-07-02 257/week @ 2024-07-09

1,628 downloads per month
Used in 2 crates (via opendp)

Custom license

814 lines


Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. License: MIT

Python R Rust

main CI nightly CI

The OpenDP Library is a modular collection of statistical algorithms that adhere to the definition of differential privacy. It can be used to build applications of privacy-preserving computations, using a number of different models of privacy. OpenDP is implemented in Rust, with bindings for easy use from Python and R.

The architecture of the OpenDP Library is based on a conceptual framework for expressing privacy-aware computations. This framework is described in the paper A Programming Framework for OpenDP.

The OpenDP Library is part of the larger OpenDP Project, a community effort to build trustworthy, open source software tools for analysis of private data. (For simplicity in these docs, when we refer to “OpenDP,” we mean just the library, not the entire project.)


OpenDP is under development, and we expect to release new versions frequently, incorporating feedback and code contributions from the OpenDP Community. It's a work in progress, but it can already be used to build some applications and to prototype contributions that will expand its functionality. We welcome you to try it and look forward to feedback on the library! However, please be aware of the following limitations:

OpenDP, like all real-world software, has both known and unknown issues. If you intend to use OpenDP for a privacy-critical application, you should evaluate the impact of these issues on your use case.

More details can be found in the Limitations section of the User Guide.


Install OpenDP for Python with pip (the package installer for Python):

$ pip install opendp

Install OpenDP for R from an R session:

install.packages("opendp", repos = "https://opendp.r-universe.dev")

More information can be found in the Getting Started section of the User Guide.


The full documentation for OpenDP is located at https://docs.opendp.org. Here are some helpful entry points:

Getting Help

If you're having problems using OpenDP, or want to submit feedback, please reach out! Here are some ways to contact us:


OpenDP is a community effort, and we welcome your contributions to its development! If you'd like to participate, please contact us! We also have a contribution process section in the Contributor Guide.


~20K SLoC