Skip to content

Python package designed to facilitate the end-to-end production of differentially private synthetic data

License

Notifications You must be signed in to change notification settings

shlomihod/synthflow

Repository files navigation

Synthflow

ci arxiv

Synthflow is a Python package for facilitating the end-to-end production of differentially private synthetic data. It has been utilized in the public release of Israel's National Birth Registry. For additional information about the release, please refer to https://birth.dataset.pub.

Setup

Prerequisites

Installation

  1. Clone this repository:
git clone https://github.com/shlomihod/synthflow.git
  1. Navigate to the directory:
cd synthflow
  1. Install dependencies using Poetry:
poetry install

Usage

Run the synthflow tool with the --help option to see available commands:

poetry run python -m synthflow --help

Commands and Options

  • `execute`: Run the synthetic data generation and evaluation process
  • `evaluate`: Evaluate a given synthetic data
  • `span`: Span the space of generation configurations for a given privacy parameters (epsilon, delta)
  • `parallel`: Run the synthetic data generation and evaluation process (execute) in parallel
  • `report`: Generate an evaluation report of an execution

For a complete list of options and flags, refer to the initial command list above.

Testing

Run tests using `pytest`:

pytest

License

This project is licensed under the MIT License. See LICENSE for details.

Support

For questions or issues, please open an issue.

About

Python package designed to facilitate the end-to-end production of differentially private synthetic data

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published