Skip to content
Duc_Nguyen edited this page Jul 2, 2025 · 1 revision

Welcome to PETINA

PETINA (Privacy prEservaTIoN Algorithms) is a modular Python library for differential privacy. It includes a wide range of privacy-preserving algorithms applicable to both supervised and unsupervised learning, supporting numerical and categorical data.

This wiki provides documentation, usage examples, and development guidelines for using and contributing to PETINA.


📖 Table of Contents


Getting Started

PETINA provides both centralized and local differential privacy mechanisms and is easy to integrate into existing ML pipelines.

To get started:

pip install PETINA

Or clone and install from source:

git clone https://github.com/ORNL/PETINA.git
cd PETINA
pip install -e .

Core Functionality

PETINA includes:

  • Differential Privacy Mechanisms: Gaussian, Laplace, Exponential, Sparse Vector, Unary Encoding, Histogram, etc.
  • Sketching Algorithms: Count Sketch, Fast Projection
  • Adaptive Mechanisms: Adaptive Clipping, Adaptive Pruning
  • Utility Tools: Type conversion, encoding, parameter tuning, etc.

See the [Function Reference](https://github.com/ORNL/PETINA/wiki/Function-Reference) for a full list.


Examples

Example scripts are available in the examples/ folder of the repo:


Contributing

We welcome contributions!

  • Open an issue to suggest or discuss features.
  • Submit a pull request with clear description and appropriate tests.
  • For questions, email a project member (see below).

See the [Contributing Guide](https://github.com/ORNL/PETINA/wiki/Contributing) for details.


License & Citation

PETINA is released under the MIT License.

If you use PETINA in your work, please cite it using the entry from OSTI:

https://www.osti.gov/doecode/biblio/149859


Contact

Project Lead: Oliver Kotevska


Thank you for using PETINA!

Clone this wiki locally