Metadata-Version: 2.4
Name: opake-dpftrl
Version: 0.16.0
Summary: Opake DP-FTRL mechanisms: matrix-factorization noise (BLT, BSR, BISR, lambda-CGD) and private second moments
Author: Opake Contributors
License: Apache-2.0
Keywords: differential-privacy,dp-ftrl,matrix-factorization,pytorch,privacy
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Security
Requires-Python: <3.14,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: torch>=2.9.0
Requires-Dist: scipy>=1.11.0
Requires-Dist: opake-engine==0.16.0
Requires-Dist: opake-accounting==0.16.0
Provides-Extra: optimizers
Requires-Dist: opake-optimizers==0.16.0; extra == "optimizers"
Dynamic: license-file

# opake-dpftrl

Matrix-factorization noise mechanisms for Opake: BLT, BSR, BiSR,
band-MF, lambda-CGD, identity — plus the MF-specific participation
samplers (b-min-separation, Poisson, balls-in-bins, sequential
batches). Functional optimizers (including the universal `adamw`
that consumes private `noisy_squared_grads` streams) live in
[`opake.optimizers`](../opake-optimizers/README.md).

## Install

Install the root package as described in the [repository installation guide](https://github.com/JetBrains-Research/opake#installation),
using its `dpftrl` extra to include this component.

## Quick start

```python
from opake.random import key
from opake.dpftrl.noise import mf_gaussian_noise, blt_strategy
from opake.dpftrl.sampling import BMinSepSampler
```

## Layout

- `opake.dpftrl.noise` — strategies (band-MF, BLT, BSR, BiSR, identity, lambda-CGD) + dispatchers
- `opake.dpftrl.clipping` — MF-safe `clipped_grad`, `auto_clipped_grad`, `per_group`
- `opake.dpftrl.sampling` — `BMinSepSampler`, `CyclicPoissonSampler`, `BallsInBinsSampler`, `SequentialBatchSampler`

Shared clipping implementation and other cross-cutting primitives live in
[`opake-engine`](../opake-engine/README.md).
