Installation

Requirements

  • Python 3.10 (recommended; latest versions may not work)

  • Mosek solver license (free for academics) — optional, CVXOPT is the default fallback

Install from source

Clone the repository and install dependencies:

git clone https://github.com/Kiguli/PRoTECT.git
cd PRoTECT
pip install -r requirements.txt

Ubuntu quick install

On Ubuntu 22.04, an automated script is provided:

cd ~/PRoTECT/bash-scripts
./install_ubuntu22_PRoTECT.sh

This installs all prerequisites and configures the PYTHONPATH.

Docker

PRoTECT can also be run via Docker (API scripts only, no GUI):

docker build -t protect .
docker run --rm -it --name protect protect

To add a Mosek license to the container:

docker cp <license-file> protect:<target-path>

Mosek license

If you choose to use the Mosek solver (faster than CVXOPT), obtain a free academic license from mosek.com.

Setting PYTHONPATH

To use PRoTECT from example scripts outside the repository, add it to your path:

export PYTHONPATH=$PYTHONPATH:/path/to/PRoTECT

To make this permanent, append the line to ~/.profile (or ~/.zshrc on macOS) and restart your shell.

Verify the installation

Launch the GUI:

python3 main.py

Or run an example script:

cd ex/benchmarks-deterministic/PRoTECT-versions
python3 ex2_jet_engine_ct_DS.py