# LensKit for Python: Next-Generation Software for Recommender System Experiments

arXiv: https://arxiv.org/abs/1809.03125 · HTML: https://mlsanity.com/paper/1809.03125/

## Key facts

- Cited by 13 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 10 Sep 2018.

## Built on by (most cited first, 13 of 13)

- [User Behavior Simulation with Large Language Model based Agents](https://mlsanity.com/paper/2306.02552/) (2023)
- [Large Language Models as Recommender Systems: A Study of Popularity Bias](https://mlsanity.com/paper/2406.01285/) (2024)
- [T-RECS: A Simulation Tool to Study the Societal Impact of Recommender Systems](https://mlsanity.com/paper/2107.08959/) (2021)
- [Synthetic Data-Based Simulators for Recommender Systems: A Survey](https://mlsanity.com/paper/2206.11338/) (2022)
- [Green Recommender Systems: Optimizing Dataset Size for Energy-Efficient Algorithm Performance](https://mlsanity.com/paper/2410.09359/) (2024)
- [The Potential of AutoML for Recommender Systems](https://mlsanity.com/paper/2402.04453/) (2024)
- [Evaluating the performance-deviation of itemKNN in RecBole and LensKit](https://mlsanity.com/paper/2407.13531/) (2024)
- [e-Fold Cross-Validation for Recommender-System Evaluation](https://mlsanity.com/paper/2412.01011/) (2024)
- [The Impact of Feature Quantity on Recommendation Algorithm Performance: A Movielens-100K Case Study](https://mlsanity.com/paper/2207.08713/) (2022)
- [The Unreasonable Effectiveness of Data for Recommender Systems](https://mlsanity.com/paper/2604.06420/) (2026)
- [Ensembles at Any Cost? Accuracy-Energy Trade-offs in Recommender Systems](https://mlsanity.com/paper/2604.07869/) (2026)
- [SIDScope: A Diagnostic Resource for Semantic-ID Interfaces in Generative Recommendation](https://mlsanity.com/paper/2608.18779/) (2026)
- [AutoRecLab: Describe the Experiment, Get the Code!](https://mlsanity.com/paper/2609.21863/) (2026)

## Abstract (arXiv)

LensKit is an open-source toolkit for building, researching, and learning about recommender systems. First released in 2010 as a Java framework, it has supported diverse published research, small-scale production deployments, and education in both MOOC and traditional classroom settings. In this paper, I present the next generation of the LensKit project, re-envisioning the original tool's objectives as flexible Python package for supporting recommender systems research and development. LensKit for Python (LKPY) enables researchers and students to build robust, flexible, and reproducible experiments that make use of the large and growing PyData and Scientific Python ecosystem, including scikit-learn, TensorFlow, and PyTorch. To that end, it provides classical collaborative filtering implementations, recommender system evaluation metrics, data preparation routines, and tools for efficiently batch running recommendation algorithms, all usable in any combination with each other or with other Python software. This paper describes the design goals, use cases, and capabilities of LKPY, contextualized in a reflection on the successes and failures of the original LensKit for Java software.
