PyUNLocBoX is a convex optimization toolbox using proximal splitting methods implemented in Python. It is a free software distributed under the BSD license and is a port of the Matlab UNLocBoX toolbox.

https://badge.fury.io/py/pyunlocbox.png https://travis-ci.org/epfl-lts2/pyunlocbox.png?branch=master https://pypip.in/d/pyunlocbox/badge.png


  • Solvers
    • Forward-backward splitting algorithm
    • Douglas-Rachford splitting algorithm
  • Proximal operators
    • L1-norm
    • L2-norm
    • Projection on the L2-ball


PyUnLocBox is continuously tested with Python 2.6, 2.7, 3.2, 3.3 and 3.4.

System-wide installation:

$ pip install pyunlocbox

Installation in an isolated virtual environment:

$ mkvirtualenv --system-site-packages pyunlocbox
$ pip install pyunlocbox

You need virtualenvwrapper to run this command. The --system-site-packages option could be useful if you want to use a shared system installation of numpy and matplotlib. Their building and installation require quite some dependencies.

Another way is to manually download from PyPI, unpack the package and install with:

$ python setup.py install

Execute the project test suite once to make sure you have a working install:

$ python setup.py test


PyUNLocBoX was started in 2014 as an academic project for research purpose at the LTS2 laboratory from EPFL. See our website at http://lts2www.epfl.ch.

Development lead :

Contributors :

  • None yet. Why not be the first ?