Skip to main content

gdpnum

pypi CI arXiv

Library for numerically computing the correct, non-asymptotic Gaussian Differential Privacy (GDP) guarantees for DP-SGD or similar privacy-preserving algorithms. Correct, non-asymptotic GDP accurately and faithfully represents the privacy guarantees of many practical algorithms with just a single mu parameter, enabling correct comparisons (unlike fixed epsilon/delta), and accurate conversions to interpretable notions of risk. See Gomez et al. (2026)1.

If you make use of the library or methods, please cite:

@inproceedings{gomez2026gaussian,
  title={Gaussian DP for Reporting Differential Privacy Guarantees in Machine Learning},
  author = {Gomez, Juan Felipe and Kulynych, Bogdan and Kaissis, Georgios and du Pin Calmon, Flavio and Hayes, Jamie and Balle, Borja and Honkela, Antti},
  booktitle={2026 IEEE Conference on Secure and Trustworthy Machine Learning (SaTML)},
  year={2026},
  organization={IEEE}
}

Quickstart

You can install the library with pip:

pip install gdpnum

DP-SGD

To analyze DP-SGD, you can use:

import gdpnum

mu, regret = gdpnum.dpsgd.get_mu_and_regret_for_dpsgd(
    noise_multiplier=9.4,
    sample_rate=0.328,
    num_steps=2000
)
# (1.5685621993129137, 0.0010208130697719753)

We get the numerically computed GDP mu parameter, and regret which shows the goodness-of-fit of the GDP.

The library also includes an Opacus-compatible accountant interface:

import gdpnum

acct = gdpnum.dpsgd.CTDAccountant()
acct.step(noise_multiplier=9.4, sample_rate=0.328)
acct.get_mu_and_regret()

General mechanisms

For general mechanisms, the library relies on the privacy loss distribution objects from the dp_accounting package:

import gdpnum

pld = ...

converter = gdpnum.PLDConverter(pld)
mu, regret = converter.get_mu_and_regret()

See an example for the US Census TopDown mechanism in the notebooks folder.

To get the tabulation of the trade-off curve function at recommended values of alpha from the paper, simply run:

converter.get_beta()
  1. Gaussian DP for Reporting Differential Privacy Guarantees in Machine Learning. IEEE SatML 2026. ↩

Metadata

Release files for gdpnum 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gdpnum 0.1.2
File Size Uploaded
gdpnum-0.1.2.tar.gz 153.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gdpnum 0.1.2
File Interpreter ABI Platform
gdpnum-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 164.3 kB

Release files / gdpnum-0.1.2.tar.gz

Download URL gdpnum-0.1.2.tar.gz
Size 153.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ed0a673e518f82d4806d7312d3f4e0dca45b5e427c48dc156bdcc0805fc935cc
BLAKE2b-256 checksum
How to use checksums
f69f8cc6901e77cfa45fb3e8370af3c36399993667cb49e43014ae173936d5e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.6

Release files / gdpnum-0.1.2-py3-none-any.whl

Download URL gdpnum-0.1.2-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc5d6eb100dc69b1eeb036b93f82c166ff7aa72b82e5272f1c0e9a178c4c1d0a
BLAKE2b-256 checksum
How to use checksums
065ad01ba1a1f763c281826c98c5f6e5c90809fa825fbcfb343089686dc0cea2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.6

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page