Structured Machine Learning Group

This is a list of all the software tools our group produced over the year. We are committed to make all of our software Open Source to foster reproducible research. Each project is publicly hosted on either GitHub or BitBucket. Refer to the individual projects pages for the details. Our software is free to use (licensing notes on the projects pages), but if it is useful for your research please consider citing us.


Python library for declarative, constrained, structured-output prediction.


A Python library that wraps and enhances the MiniZinc tools for constraint programming.

Part-wise Coactive Learning

A Python 3 implementation of the Part-wise Coactive Learning from Decomposition Strategies for Constructive Preference Elicitation.

Choice Perceptron

A Python 3 implementation of the Choice Perceptron from Constructive Preference Elicitaion over Hybrid Combinatorial Domains.

Coactive Critiquing

A Python 3 implementation of Coactive Critiquing for constructive Preference Elicitation.

Constructive Layout Synthesis

A Python 3 implementation of Constructive Layout Synthesis via Coactive Learning.


A Python implementation of Structured Learning Modulo Theories.


A Python implementation of Set-wise Max-margin for constructive Preference Elicitation.