DiffPriv
DiffPriv is a package focused on privacy, with differential privacy and encryption schemes.
This is an alpha release, meaning it might not be stable. We suggest you install the latest stable build.
The truth is more important than ever—let's make sure easy privacy protection is available.
Differential privacy should be simple. Now that data defines our world, we need to look at the cost of privacy. Let's make protecting privacy easy.
What is differential privacy?
Differential privacy allows for data to be preserved while making sure that attackers cannot gain access to an individual's data. Even if you publish summary statistics (like average age of participants, unlabeled addresses of participants, etc.), attackers can gain access to individual data (like age of each participant, labeled addresses of participants, etc.). In order to achieve this, differential privacy slightly changes the actual dataset to make sure that any uncovered data will not give away personal information. See below for how to get started!
Downloading DiffPriv
To download, open up your command prompt and type
pip install DiffPriv==v2.0.0a3
or from the source repo:
git clone https://github.com/Quantalabs/DiffPriv
cd diffpriv
git switch v2.0.0-alpha3
python setup.py install
Conda Envioronment
You can install it from conda through the command:
conda install -c conda-forge/label/diffpriv_dev diffpriv
Docs
Once installed, check out the docs at https://quantalabs.github.io/DiffPriv/v2a3/
View Source
""" DiffPriv is a package focused on privacy, with differential privacy and encryption schemes. .. include:: ../README.md """ __docformat__ = "restructuredtext" # Sanity Check Imports import warnings import json from urllib import request # Dependecy Imports import sys import csv import webbrowser import math import random import numpy as np # Local from . import mech from . import enc from . import cli __version__ = 'v1.0.3' __stable__ = True """If package is stable or not.""" __source__ = 'https://github.com/Quantalabs/DiffPriv' """Source Repo""" __docs__ = 'https://diffpriv.readthedocs.io' """Documentation URL""" def _sanity_check(): # Import Requirements try: import numpy as np except ImportError: # pragma: no cover raise ImportError(' \ Please make sure you have numpy installed. If you have cloned the package from the source, then use: \ pip install -r requirements.txt \ ') url = f'https://pypi.python.org/pypi/DiffPriv/json' if url.lower().startswith('http'): releases = json.loads(request.urlopen(url).read()) # skipcq else: # pragma: no cover raise ValueError from None latest_version = releases['info']['version'] try: # pragma: no cover if __version__ != 'v'+latest_version: raise AssertionError except AssertionError: # pragma: no cover # We ignore code coverage for this because there is no way to test this through pytest, but it has been tested manually warnings.warn( '\u001b[33m \n' 'You have DiffPriv '+__version__+', however, newer versions are avaliable. Use \n' ' pip install --upgrade DiffPriv \n' 'to upgrade your package. \u001b[0m' ) _sanity_check() del _sanity_check