Logilab has released constraint-0.2. The constraint package is an extensible Constraint Satisfaction Problem (CSP) solver using constraint propagation algorithms written in 100% pure Python (tested with Python 2.1) You can download it from ftp://ftp.logilab.org/pub/constraint/, read a bit more about it on http://www.logilab.org/python-logic/constraint.html, and discuss it on the logic-sig mailing list (see http://lists.logilab.org/mailman/listinfo/python-logic to subscribe) The package is still young, but we find it useful enough right now, so I thought I might as well publish it. What can it do? * solve some finite-domain CSP * handle n-ary constraints How can you extend it: * by implementing new Domain classes * by implementing new constraint classes * by implementing new Distributor classes How well does it perform? * 8-queens problems solved in 15 seconds on my 1GHz PC * SEND+MORE=MONEY problem solved in 8 seconds on the same machine What has changed? * a BasicConstraint class was added (these constraint affect only a single variable, and can be entailed in one pass), with several example implementations * The Repository class was refactored, and a Solver class was added as a result, which gives a better separation of the solving logic and storage logic If you're interested by constraint propagation programming in python, please join the logic-sig mailing list. -- Alexandre Fayolle -- LOGILAB, Paris (France). http://www.logilab.com http://www.logilab.fr http://www.logilab.org Narval, the first software agent available as free software (GPL).