The LensKit Recommender Toolkit

LensKit is an open source toolkit for building, researching, and studying recommender systems.


Do you need a recommender for your next project? LensKit provides high-quality implementations of well-regarded collaborative filtering algorithms and is designed for integration into web applications and other similarly complex environments.


Do you want to experiment with new recommender algorithms or evaluation strategies? LensKit provides infrastructure to manage configuration, data access, and the model build process, and allows you to easily compare your new algorithm against high-quality implementations of existing well-accepted algorithms.


LensKit’s source code is freely available under an open source license and is suitable for self-study or use in classroom settings. Our goal is to produce readable, straightforward implementations that achieve good performance while at the same time serving as executable documentation for how to turn recommender algorithms from math to code, as well as a working example of how to deal with the details necessary to connect recommenders to databases, manage models and configuration, and integrate them into web-based environments.


LensKit is licensed under the GNU Lesser General Public License, version 2.1 or later. The libraries it depends on are released under either the LGPL, the Apache Public License, or a broadly permissive license such as the MIT license.

This means that you can freely use LensKit in any project. If you distribute software that includes LensKit, you must provide the LensKit source code and make any modifications you have made to LensKit itself available under a compatible open source license. Most uses of LensKit don’t involve distributing software, though; if you’re building a recommender into your web site or application, you are almost certainly not distributing software in a manner that triggers the requirements of the LGPL.


LensKit is made possible by support from a number of organizations: