The OpenDP Project hosts a number of tools: The OpenDP Library is our primary focus, but Tumult Analytics and SmartNoise SDK have their own strengths. (If you are looking for an UI application rather than a library, consider DP Wizard: It can run locally or in the cloud, and after prompting for the details of your analysis, returns DP statistics or synthetic data, and a notebook which captures the steps in the analysis.)
| OpenDP Library | Tumult Analytics | SmartNoise SDK | |
| Github | opendp/opendp/ | opendp/tumult-analytics | opendp/smartnoise-sdk |
| Documentation | https://docs.opendp.org | https://docs.tmlt.dev | https://docs.smartnoise.org/ |
| Development status | Active, and welcomes contributions. | Active, and welcomes contributions. | Stable API: Development is less active, but still maintained by collaborators at Microsoft. |
| API style | High-level APIs based on Polars and scikit-learn, and a low-level framework API. | High-level APIs inspired by Pyspark. | SmartNoise SQL: SQL queries SmartNoise Synth: Python APIs |
| Languages supported | Python, Rust, R (ordered by amount of functionality) | Python | SQL, Python |
| Large dataset support | Limited: Polars operations are in-memory. | Large datasets are well supported with Spark backend. | A variety of database backends are supported, including PostgreSQL, SQL Server, and Spark. |
| Synthetic data generation | Yes | No | Yes |
| Strengths | • Great performance with small/medium datasets • Support for R and Rust • Vetting process • Extensible framework | • Great performance with large datasets • Easy to use query builder API • Extensible framework | • Stable APIs • SQL support |
OpenDP Commons
The OpenDP Commons is a community-driven layer of OpenDP based on a common differential privacy library. It consists of tools and packages for building end-to-end differentially private systems. The governance for this layer facilitates contributions and vetting by the community, as well as reviews, guidance, and guarantees for using the library and tools.
Please contact us if you are looking into building tools with OpenDP.