General Morphological Analysis
This simple package implements Morphological analysis. Morphological analysis is the elimination of contradictory statements from a large space of possibilities by systematic search. This allows a clear view on the important effects.
A good introduction is this video.
Difference to their software are that this package allows specification of more complex exclusion criteria rather than just two mutually exclusive values.
This package is written in Python. It has no GUI.
The code is a simple depth-first search with early truncation.
See zebra.py for an example. There, the Zebra puzzle is implemented and solved.