This is the python implementation to Alex Djalali's set-theoretic solution for the ranking problem in Partial Order Optimality Theory, which can be stated as follows: Allowing for free variation, given a finite set of input/output pairs, i.e., a dataset, that a speaker knows to be part of some language, how does one learn the set of all grammars under some constraint set compatible with that dataset?
Because Partial Order Optimality Theory is a generalization of Classical Optimality Theory, this solution also works for all cases in Classical OT.
See the webapp front-end at http://pootrank.herokuapp.com