Skip to content

Code samples and documentation for SmartNoise differential privacy tools

License

Notifications You must be signed in to change notification settings

hansencc/smartnoise-samples

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Please note that we recently renamed this toolkit.

SmartNoise Samples: Differential Privacy Examples, Notebooks and Documentation

See also the accompanying SmartNoise SDK repository and SmartNoise Core repository for this system.

Differential privacy is the gold standard definition of privacy protection. The SmartNoise project, in collaboration with OpenDP, aims to connect theoretical solutions from the academic community with the practical lessons learned from real-world deployments, to make differential privacy broadly accessible to future deployments. Specifically, we provide several basic building blocks that can be used by people involved with sensitive data, with implementations based on vetted and mature differential privacy research. In this Samples repository we provide example code and notebooks to:

  • demonstrate the use of the system platform,
  • teach the properties of differential privacy,
  • highlight some of the nuances of the system implementation.

Runtime Library and Validator

Notebooks on SmartNoise Library Usage: A set of notebooks showing how to create differentially private releases using the SmartNoise Core library and private analysis validator. The library and validator are both written in Rust, but the notebooks are Python and demonstrate the use of our Python bindings.

Relative error distributions Release box plots Histogram releases Utility simulations Bias simulations

SQL Data Access SDK

Notebooks on SQL Data Access: A set of notebooks showing how to use SQL to create differentially private reports.

Reference Execution Service

API Reference Documentation

Core Library Reference: The Core Library implments the runtime validator and execution engine.

System SDK Reference:. The System SDK implements the SQL Data Access, Execution Service, and Stochastic Evaluator.

Communication

  • Please use GitHub issues for bug reports, feature requests, install issues, and notebook ideas.
  • Gitter is available for general chat and online discussions.
  • For other requests, please contact us at smartnoise@opendp.io.
    • Note: We encourage you to use GitHub issues, especially for bugs.

Releases and Contributing

Please let us know if you encounter a bug by creating an issue.

We appreciate all contributions. We welcome pull requests with bug-fixes without prior discussion.

If you plan to contribute new features, utility functions or extensions to the samples repository, please first open an issue and discuss the feature with us.

  • Sending a PR without discussion might end up resulting in a rejected PR, because we may be taking the examples in a different direction than you might be aware of.

Installation

  • After cloning the repository and setting up virtual environment, install requirements.
git clone https://github.com/opendifferentialprivacy/smartnoise-samples.git && cd smartnoise-samples
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
# if running locally
pip install jupyterlab
# launch locally
jupyter-lab

About

Code samples and documentation for SmartNoise differential privacy tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 95.6%
  • HTML 4.1%
  • Python 0.3%
  • Dockerfile 0.0%
  • Makefile 0.0%
  • Shell 0.0%