python-cluster is a package that allows grouping a list of arbitrary objects into related groups (clusters). Simply give it a list of data and a function to determine the similarity between two items and you're done.
Project description
python-cluster is a “simple” package that allows to create several groups (clusters) of objects from a list. It’s meant to be flexible and able to cluster any object. To ensure this kind of flexibility, you need not only to supply the list of objects, but also a function that calculates the similarity between two of those objects. For simple datatypes, like integers, this can be as simple as a subtraction, but more complex calculations are possible. Right now, it is already possible to generate clusters by using a “single-linkage hierarchical” clustering algorithm. But I plan to implement other algoithms as well on an “as-needed” or “as-I-have-time” basis.