Skip to main content

Python bindings for the OpenDP Library

Project description

OpenDP logo

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 doc-check 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.

[!NOTE] This software is part of the OpenDP Commons. As such, the OpenDP Executive Committee commits to:

  • Releasing this software under an OSI approved licence, in this case the MIT License.
  • Ensuring there are at least two maintainers, in this case Michael Shoemate (Shoeboxam) and Chuck McCallum (mccalluc), who will respond within a week to new issues and PRs.
  • Only making changes on main through PRs, and getting approval on these PRs before merging.
  • On an annual basis, recruiting one or more volunteers (not active contributors) who will conduct a health-check, focussed not on the details of the algorithms but on the health of this repo as open source software. Their report will be linked here. The next (and first) health-check is scheduled for September 2026.

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:

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opendp-0.14.2a20260509001.tar.gz (757.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

opendp-0.14.2a20260509001-py3-none-manylinux_2_28_aarch64.whl (52.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

opendp-0.14.2a20260509001-cp310-abi3-win_amd64.whl (45.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

opendp-0.14.2a20260509001-cp310-abi3-win32.whl (39.8 MB view details)

Uploaded CPython 3.10+Windows x86

opendp-0.14.2a20260509001-cp310-abi3-musllinux_1_2_x86_64.whl (54.0 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

opendp-0.14.2a20260509001-cp310-abi3-manylinux_2_28_x86_64.whl (51.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

opendp-0.14.2a20260509001-cp310-abi3-macosx_11_0_arm64.whl (48.0 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

opendp-0.14.2a20260509001-cp310-abi3-macosx_10_13_x86_64.whl (50.3 MB view details)

Uploaded CPython 3.10+macOS 10.13+ x86-64

File details

Details for the file opendp-0.14.2a20260509001.tar.gz.

File metadata

  • Download URL: opendp-0.14.2a20260509001.tar.gz
  • Upload date:
  • Size: 757.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for opendp-0.14.2a20260509001.tar.gz
Algorithm Hash digest
SHA256 d8b6d87f25b21a0b16aa183f28f8360d6a0197ef21834f473464a97f5f664486
MD5 19a69be9d71fcad9a92646cadb76e156
BLAKE2b-256 42c538f3adf32ce258379c7f59fa9607efdf2fbcb070fff03c559304ad48dfc6

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0cf4ff74c25abd1bd2bf00f44dffafa8e02584ebcf300154d79bd2bd1d404498
MD5 f952a96584a08f03fc1089e6ba7aecf5
BLAKE2b-256 f1ebe87341062a5c4cce839f986450d2d2238cae8e7d00a55d60849675b43142

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 69f30373c918be6daccb23d6bc3c64c2f80bca7b5d632629cc6a623783f8f215
MD5 69bda8329dada9e39078d3e77c58adef
BLAKE2b-256 83f950c93b8a1a5006ace6d8a58a4fc0be420f8af4b5fab77c630e9e274a1f86

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-win32.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 912d2343e1d9996253c850cb545f5a0420268167a716c54a22840a9450f73d52
MD5 908a7950776046c0b5395c6115c5fb4b
BLAKE2b-256 9df0975461757276da3dfde9769489ec8ac949750277568c62521fa0aea0bc95

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a4619089192928088b3123970bf500b403f9a6652450daa50075cb762225da2e
MD5 514733f8f961d5bf5244d1b1a2f8087f
BLAKE2b-256 9539b6299f4e82ba70bf62489f50968292477478d14504b0a75e98b53d9ff505

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c35f6facfb981ad54f1a457f115795c5be84bd17c4c45cc5681f71755bcdd547
MD5 a278a5f895c2c16c792644a0580aab08
BLAKE2b-256 c29f5abe589bdf8e96b3dfbcad72590d5cafa533fa0649d160c80422cd68f477

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ea92cbfb52ba7262f99e73c04611951b82ceff70df42377de52caee9b7c3699
MD5 0df3fddf5586095a15387bf37ec57df4
BLAKE2b-256 ffcd51663e360d7293690b3d1c75cd64a4a53731fa71d1ccf3bc9b76d664ca34

See more details on using hashes here.

File details

Details for the file opendp-0.14.2a20260509001-cp310-abi3-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for opendp-0.14.2a20260509001-cp310-abi3-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 cbfbdc8437f210314ff83be09055859272c72155cc8af1158c5d787df5395818
MD5 b4e1fb9aa57574ed6ea3883d6719d5dd
BLAKE2b-256 86d4a26c2e6fd084d4695adffd4afbbdbb4e87a76958caa072d1d89566925fa4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page