measures#

Module containing supported variants for differential privacy.

Classes#

Measure

Base class for output measures.

PureDP

Pure DP measure.

ApproxDP

Approximate DP measure.

RhoZCDP

ρ-zCDP measure.

class Measure#

Bases: abc.ABC

Base class for output measures.

__eq__(self, other)#

Return True if both measures are equal.

Parameters

other (Any) –

Return type

bool

abstract validate(self, value)#

Raises an error if value not a valid distance.

Parameters

value (Any) – A distance between two probability distributions under this measure.

abstract compare(self, value1, value2)#

Returns True if value1 is less than or equal to value2.

Parameters
  • value1 (Any) –

  • value2 (Any) –

Return type

bool

class PureDP#

Bases: Measure

Pure DP measure.

validate(self, value)#

Raises an error if value not a valid distance.

  • value must be a nonnegative real or infinity

Parameters

value (tmlt.core.utils.exact_number.ExactNumberInput) – A distance between two probability distributions under this measure.

compare(self, value1, value2)#

Returns True if value1 is less than or equal to value2.

Parameters
  • value1 (tmlt.core.utils.exact_number.ExactNumberInput) –

  • value2 (tmlt.core.utils.exact_number.ExactNumberInput) –

Return type

bool

__eq__(self, other)#

Return True if both measures are equal.

Parameters

other (Any) –

Return type

bool

class ApproxDP#

Bases: Measure

Approximate DP measure.

validate(self, value)#

Raises an error if value not a valid distance.

  • value must be a tuple with two values: (epsilon, delta)

  • epsilon must be a nonnegative real or infinity

  • delta must be a real between 0 and 1 (inclusive)

Parameters

value (Tuple[tmlt.core.utils.exact_number.ExactNumberInput, tmlt.core.utils.exact_number.ExactNumberInput]) – A distance between two probability distributions under this measure.

compare(self, value1, value2)#

Returns True if value1 is less than or equal to value2.

Parameters
  • value1 (Tuple[tmlt.core.utils.exact_number.ExactNumberInput, tmlt.core.utils.exact_number.ExactNumberInput]) –

  • value2 (Tuple[tmlt.core.utils.exact_number.ExactNumberInput, tmlt.core.utils.exact_number.ExactNumberInput]) –

Return type

bool

__eq__(self, other)#

Return True if both measures are equal.

Parameters

other (Any) –

Return type

bool

class RhoZCDP#

Bases: Measure

ρ-zCDP measure.

See the definition of ρ-zCDP in this paper under Definition 1.1.

validate(self, value)#

Raises an error if value not a valid distance.

  • value must be a nonnegative real or infinity

Parameters

value (tmlt.core.utils.exact_number.ExactNumberInput) – A distance between two probability distributions under this measure.

compare(self, value1, value2)#

Returns True if value1 is less than or equal to value2.

Parameters
  • value1 (tmlt.core.utils.exact_number.ExactNumberInput) –

  • value2 (tmlt.core.utils.exact_number.ExactNumberInput) –

Return type

bool

__eq__(self, other)#

Return True if both measures are equal.

Parameters

other (Any) –

Return type

bool