LensKit is a Java-based recommender toolkit from GroupLens. It provides a common API for recommender algorithms, an evaluation framework for offline evaluation of recommender performance, and highly modular implementations of common collaborative filtering algorithms.
It is intended to be particularly useful for research and education. The aim of the project is to produce a common recommender framework, reusable in applications, and clear, readable implementations of common algorithms employing best practices with regards to implementation strategies, tuning, and normalizations.
LensKit is under active development. The project currently has several rating-based algorithms and is working on developing additional algorithms, basket/history-based algorithms, and additional evaluation strategies.