Scikit-learn: machine learning in Python
scikit-learn.org
scikit-learn.org
Thanks
How to build and evaluate the performance of a useable and scalable recsys based on such building blocks is far from trivial though. It's probably even harder than implementing some of the building blocks provided by scikit-learn it-self for instance.
If had to build a recsys myself I would probably just use a fulltext engine such as ElasticSearch or Apache Solr + similarity queries (MoreLikeThis) + custom "features" + custom score functions as explained in this presentation by Trey Grainger (http://www.slideshare.net/treygrainger/building-a-real-time-...), and maybe use scikit-learn models to extract some relevant features to describe either the users or the items for improving the quality of the recommendations.
The best documentation I found is the Mahout in Action book (http://manning.com/owen/) while reading the source code in parallel.
Also you probably don't need to run this on a Hadoop cluster unless your data is too big to fit on one single machine.