Read-only mirror of https://github.com/dscc-admin-ch/diffprivlib-logger — Data Science Competence Center DSCC. Issues & pull requests at the source.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-03-19 21:34:39 +01:00
.github/workflows switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00
src switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00
tests switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00
.gitattributes switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00
.gitignore simplify github action and add requirements.txt 2024-06-28 12:38:05 +02:00
LICENSE diffprivlib logger 2024-06-28 12:31:39 +02:00
pyproject.toml switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00
README.md update readme 2026-03-19 21:34:39 +01:00
uv.lock switch to pyproject.toml (#1) 2026-03-19 20:14:53 +00:00

DiffPrivLib Logger

PyPI - Version PyPI - Python Version PyPI - License GitHub Actions Workflow Status

Serialize and deserialize DiffPrivLib pipelines to and from JSON.

It is inspired from opendp-logger and a first version was made by Oblivious for the UN PET Lab Hackathon 2022.

Example

from sklearn.pipeline import Pipeline
from diffprivlib import models

pipeline = Pipeline(
    [
        (
            "scaler",
            models.StandardScaler(
                bounds=([17, 1, 0, 0, 1], [90, 160, 10000, 4356, 99])
            ),
        ),
        ("pca", models.PCA(2, data_norm=5, centered=True)),
        ("lr", models.LogisticRegression(data_norm=5)),
    ]
)

Serialise

from diffprivlib_logger import serialise_pipeline

serialised_pipeline = serialise_pipeline(pipeline)

Deserialise

from diffprivlib_logger import deserialise_pipeline

deserialised_pipeline = serialise_pipeline(serialised_pipeline)