opendp
The core library of differential privacy algorithms powering the OpenDP Project.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 12 committers (16.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.5%) to scientific vocabulary
Keywords
Repository
The core library of differential privacy algorithms powering the OpenDP Project.
Basic Info
- Host: GitHub
- Owner: opendp
- License: mit
- Language: Rust
- Default Branch: main
- Homepage: https://docs.opendp.org
- Size: 834 MB
Statistics
- Stars: 379
- Watchers: 13
- Forks: 61
- Open Issues: 301
- Releases: 23
Topics
Metadata Files
README.md

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.)
Status
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.
Installation
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.
Documentation
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:
- Report a bug or request a feature on Github.
- Send general queries to info@opendp.org, or email security@opendp.org if it is related to security.
- Join the conversation on Slack, or the mailing list.
- Office hours are M/T/Th at 11am Eastern on Zoom.
Contributing
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.
Owner
- Name: OpenDP
- Login: opendp
- Kind: organization
- Email: info@opendp.org
- Website: http://opendp.org/
- Twitter: opendp_org
- Repositories: 22
- Profile: https://github.com/opendp
Open Differential Privacy
Citation (CITATION.cff)
abstract: >-
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.
authors:
# Just taking contributors from the list in order.
# https://github.com/opendp/opendp/graphs/contributors
# In a few cases the name wasn't transparent on github and a little research was needed.
- family-names: Shoemate # Shoeboxam
given-names: Michael
- family-names: Vyrros # andrewvyrros
given-names: Andrew
- family-names: McCallum # mccalluc
given-names: Chuck
- family-names: Prasad # raprasad
given-names: Raman
- family-names: Durbin # pdurbin
given-names: Philip
- family-names: Casacuberta Puig # silviacasac
given-names: Sílvia
- family-names: Cowan # ecowan
given-names: Ethan
- family-names: Xu # matchaginseng
given-names: Vicki
- family-names: Ratliff # zachratliff
given-names: Zachary
- family-names: Berrios # nbcl
given-names: Nicolás
- family-names: Whitworth # alexWhitworth
given-names: Alex
- family-names: Eliot # michaeleliot
given-names: Michael
- family-names: Lebeda # ChristianLebeda
given-names: Christian
- family-names: Renard # orespo
given-names: Oren
- family-names: McKay Bowen # ClaireMcKayBowen
given-names: Claire
cff-version: 1.2.0
contact:
- email: info@opendp.org
name: The OpenDP Team
website: https://opendp.org
identifiers:
- type: url
value: https://github.com/opendp/opendp
license: MIT
message: If you use this software, please cite it using the metadata from this file.
references:
- abstract: >-
In this working paper, we propose a programming framework for the library of differentially private
algorithms that will be at the core of the OpenDP open-source software project, and recommend programming
languages in which to implement the framework.
authors:
- family-names: Hay
given-names: Michael
- family-names: Gaboardi
given-names: Marco
- family-names: Vadhan
given-names: Salil
conference:
date-end: 2020-05-15
date-start: 2020-05-13
name: 2020 OpenDP Community Meeting
status: preprint
title: A Programming Framework for OpenDP
type: conference-paper
url: https://projects.iq.harvard.edu/files/opendp/files/opendp_programming_framework_11may2020_1_01.pdf
year: 2020
repository-artifact: https://pypi.org/project/opendp
repository-code: https://github.com/opendp/opendp
title: OpenDP Library
type: software
url: https://github.com/opendp/opendp
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 221
- Total Committers: 12
- Avg Commits per committer: 18.417
- Development Distribution Score (DDS): 0.344
Top Committers
| Name | Commits | |
|---|---|---|
| Michael Shoemate | s****m@g****m | 145 |
| Andrew Vyrros | 6****s@u****m | 48 |
| Philip Durbin | p****n@h****u | 10 |
| Raman Prasad | r****d@h****u | 8 |
| Ethan Cowan | e****4@g****m | 3 |
| Christian Lebeda | c****e@i****k | 1 |
| Alex Whitworth | a****h@u****m | 1 |
| Claire McKay Bowen | c****n@u****g | 1 |
| Oren | 5****o@u****m | 1 |
| Sourav | s****y@g****m | 1 |
| silviacasac | 4****c@u****m | 1 |
| Michael Eliot | m****t@p****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1,006
- Total pull requests: 1,318
- Average time to close issues: 5 months
- Average time to close pull requests: about 2 months
- Total issue authors: 28
- Total pull request authors: 27
- Average comments per issue: 0.54
- Average comments per pull request: 1.15
- Merged pull requests: 831
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 221
- Pull requests: 364
- Average time to close issues: 22 days
- Average time to close pull requests: 21 days
- Issue authors: 7
- Pull request authors: 9
- Average comments per issue: 0.12
- Average comments per pull request: 0.98
- Merged pull requests: 195
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mccalluc (434)
- Shoeboxam (381)
- raprasad (76)
- andrewvyrros (46)
- ankke (13)
- GKD-stack (12)
- chikeabuah (9)
- PaulineMauryL (7)
- shlomihod (6)
- TedTed (3)
- samhaney (2)
- joshua-oss (1)
- damienbfs (1)
- Bogzworth (1)
- rionides (1)
Pull Request Authors
- mccalluc (650)
- Shoeboxam (528)
- GKD-stack (28)
- ankke (18)
- PaulineMauryL (13)
- andrewvyrros (12)
- damienbfs (10)
- shlomihod (10)
- raprasad (8)
- chikeabuah (7)
- matchaginseng (4)
- tudorcebere (4)
- silviacasac (3)
- maxine-park (3)
- zachratliff (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 6
-
Total downloads:
- pypi 37,888 last-month
- cargo 764,586 total
- Total docker downloads: 120
-
Total dependent packages: 13
(may contain duplicates) -
Total dependent repositories: 4
(may contain duplicates) - Total versions: 1,194
- Total maintainers: 5
pypi.org: opendp
Python bindings for the OpenDP Library
- Homepage: https://opendp.org
- Documentation: https://docs.opendp.org/
- License: MIT
-
Latest release: 0.13.0
published 10 months ago
Rankings
Maintainers (4)
proxy.golang.org: github.com/opendp/opendp
- Documentation: https://pkg.go.dev/github.com/opendp/opendp#section-documentation
- License: mit
-
Latest release: v0.13.0
published 10 months ago
Rankings
crates.io: opendp
A library of differential privacy algorithms for the statistical analysis of sensitive private data.
- Homepage: https://opendp.org/
- Documentation: https://docs.rs/opendp/
- License: non-standard
-
Latest release: 0.13.0
published 10 months ago
Rankings
Maintainers (1)
crates.io: opendp-ffi
Foreign function interfaces for the OpenDP library.
- Homepage: https://opendp.org/
- Documentation: https://docs.rs/opendp-ffi/
- License: non-standard
-
Latest release: 0.4.0
published about 4 years ago
Rankings
Maintainers (1)
crates.io: opendp_tooling
Tooling for proc-macros and code generation.
- Homepage: https://opendp.org/
- Documentation: https://docs.rs/opendp_tooling/
- License: non-standard
-
Latest release: 0.13.0
published 10 months ago
Rankings
Maintainers (1)
crates.io: opendp_derive
Minimal proc-macro wrappers around the opendp_tooling crate.
- Homepage: https://opendp.org/
- Documentation: https://docs.rs/opendp_derive/
- License: non-standard
-
Latest release: 0.13.0
published 10 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- opendp/pull-request-artifacts main composite
- xu-cheng/latex-action v2 composite
- actions/checkout v3 composite
- opendp/pull-request-artifacts main composite
- xu-cheng/latex-action v2 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/download-artifact v3 composite
- actions/setup-python v2 composite
- actions/upload-artifact v3 composite
- lannonbr/repo-permission-check-action 2.0.0 composite
- msys2/setup-msys2 v2 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v2 composite
- actions/upload-artifact v3 composite
- criterion 0.4 development
- az 1.2.0
- backtrace 0.3
- gmp-mpfr-sys 1.4.7
- lazy_static 1.4.0
- num 0.3.1
- openssl 0.10.29
- rand 0.7.3
- rug 1.14.0
- statrs 0.13.0
- thiserror 1.0.24
- vega_lite_4 0.6.0
- opendp *
- ipython *
- nbsphinx *
- pandoc *
- pydata-sphinx-theme *
- pypandoc *
- sphinx ==5.1.1
- sphinx-prompt *
- matplotlib *
- numpy *
- pandas *
- scipy *
- seaborn *
- toml *
- toml *
- twine *
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v3 composite
- actions/upload-artifact v3 composite
- msys2/setup-msys2 v2 composite
- actions-cool/check-user-permission v2 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- opendp/pull-request-artifacts main composite
- xu-cheng/latex-action v2 composite
- octokit/request-action v2.x composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v3 composite
- semver ==3.0
- tomlkit ==0.11.8