[build-dependencies.cbindgen]
optional = true
version = "0.20.0"
[build-dependencies.opendp_tooling]
optional = true
version = "0.12.0-nightly.20241224.1"
[build-dependencies.proc-macro2]
optional = true
version = "1.0"
[build-dependencies.syn]
features = ["full", "parsing"]
optional = true
version = "1.0"
[dependencies.bitvec]
version = "1.0"
[dependencies.chrono]
default-features = false
features = ["std"]
optional = true
version = "0.4.31"
[dependencies.ciborium]
optional = true
version = "0.2.1"
[dependencies.dashu]
features = ["num-traits_v02"]
version = "0.4.0"
[dependencies.lazy_static]
optional = true
version = "1.4.0"
[dependencies.num]
version = "0.3.1"
[dependencies.opendp_derive]
version = "0.12.0-nightly.20241224.1"
[dependencies.opendp_tooling]
optional = true
version = "0.12.0-nightly.20241224.1"
[dependencies.openssl]
features = ["vendored"]
optional = true
version = "0.10.64"
[dependencies.openssl-src]
version = "=300.3.1"
[dependencies.polars]
features = ["lazy", "csv", "dtype-struct", "dtype-array", "dtype-date", "dtype-datetime", "dtype-time", "parquet", "serde-lazy", "streaming", "round_series", "rank", "polars-ops", "abs", "meta", "cutqcut", "strings", "repeat_by", "concat_str"]
optional = true
version = "=0.44.2"
[dependencies.polars-arrow]
optional = true
version = "=0.44.2"
[dependencies.polars-plan]
features = ["ffi_plugin"]
optional = true
version = "=0.44.2"
[dependencies.pyo3]
features = ["abi3-py39", "extension-module"]
optional = true
version = "0.21.2"
[dependencies.pyo3-polars]
features = ["derive", "dtype-array", "dtype-categorical", "dtype-struct"]
optional = true
version = "=0.18.0"
[dependencies.rand]
version = "0.7.3"
[dependencies.readonly]
version = "0.2"
[dependencies.serde]
optional = true
version = "1.0"
[dependencies.serde-pickle]
optional = true
version = "1.1"
[dependencies.statrs]
version = "0.13.0"
[dependencies.thiserror]
version = "1.0.24"
[dependencies.vega_lite_4]
optional = true
version = "0.6.0"
[features]
bindings = ["ffi", "derive"]
bindings-python = ["bindings"]
contrib = []
default = ["partials", "use-openssl"]
derive = ["opendp_tooling", "opendp_derive/full", "syn", "proc-macro2"]
ffi = ["lazy_static", "cbindgen"]
floating-point = []
honest-but-curious = []
partials = ["derive", "opendp_derive/partials"]
polars = ["dep:polars", "polars-plan", "polars-arrow", "pyo3", "pyo3-polars", "serde", "serde-pickle", "ciborium", "chrono"]
test-plot = ["vega_lite_4"]
untrusted = ["floating-point", "contrib", "honest-but-curious"]
use-openssl = ["openssl"]
[lib]
crate-type = ["rlib", "cdylib", "staticlib"]
name = "opendp"
path = "src/lib.rs"
[package]
authors = ["The OpenDP Project <info@opendp.org>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build/main.rs"
description = "A library of differential privacy algorithms for the statistical analysis of sensitive private data."
edition = "2021"
exclude = ["windows/*"]
homepage = "https://opendp.org/"
license-file = "LICENSE"
name = "opendp"
readme = "README.md"
repository = "https://github.com/opendp/opendp"
rust-version = "1.64.0"
version = "0.12.0-nightly.20241224.1"
[package.metadata.docs.rs]
features = ["use-openssl", "derive", "untrusted", "polars"]
no-default-features = true
rustdoc-args = ["--html-in-header", "katex.html", "--document-private-items"]