Skip to content

Installing Presidio

Description

This document describes how to download and install the Presidio services locally. As Presidio is comprised of several packages/services, this document describes the installation of the entire Presidio suite using pip (as Python packages) or using Docker (As containerized services).

Using pip

Note

Consider installing the Presidio python packages on a virtual environment like venv or conda.

Supported Python Versions

Presidio is supported for the following python versions:

  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • 3.11

PII anonymization on text

For PII anonymization on text, install the presidio-analyzer and presidio-anonymizer packages:

pip install presidio_analyzer
pip install presidio_anonymizer

# Presidio analyzer requires a spaCy language model.
python -m spacy download en_core_web_lg

For a more detailed installation of each package, refer to the specific documentation:

PII redaction in images

For PII redaction in images, install the presidio-image-redactor package:

pip install presidio_image_redactor

# Presidio image redactor uses the presidio-analyzer
# which requires a spaCy language model:
python -m spacy download en_core_web_lg

Click here for more information on the presidio-image-redactor package.

Using Docker

Presidio can expose REST endpoints for each service using Flask and Docker. To download the Presidio Docker containers, run the following command:

Note

This requires Docker to be installed. Download Docker.

For PII anonymization in text

For PII detection and anonymization in text, the presidio-analyzer and presidio-anonymizer modules are required.

# Download Docker images
docker pull mcr.microsoft.com/presidio-analyzer
docker pull mcr.microsoft.com/presidio-anonymizer

# Run containers with default ports
docker run -d -p 5001:3000 mcr.microsoft.com/presidio-analyzer:latest

docker run -d -p 5002:3000 mcr.microsoft.com/presidio-anonymizer:latest

For PII redaction in images

For PII detection in images, the presidio-image-redactor is required.

# Download Docker image
docker pull mcr.microsoft.com/presidio-image-redactor

# Run container with the default port
docker run -d -p 5003:3000 mcr.microsoft.com/presidio-image-redactor:latest

Once the services are running, their APIs are available. API reference and example calls can be found here.

Install from source

To install Presidio from source, first clone the repo:

  • using HTTPS
git clone https://github.com/microsoft/presidio.git
  • Using SSH
git clone git@github.com:microsoft/presidio.git

Then, build the containers locally.

Note

Presidio uses docker-compose to manage the different Presidio containers.

From the root folder of the repo:

docker-compose --build

To run all Presidio services:

docker-compose up -d

Alternatively, you can build and run individual services. For example, for the presidio-anonymizer service:

docker build ./presidio-anonymizer -t presidio/presidio-anonymizer

And run:

docker run -d -p 5002:5001 presidio/presidio-anonymizer

For more information on developing locally, refer to the setting up a development environment section.