Recommender-System Software Libraries & APIs

There is a plethora of software libraries and APIs that often implement dozens of recommendation algorithms.

We define a ‘recommender-system software library’ as e.g. a JAVA or Python library that you can easily integrate into your own application to run recommendation algorithms. Nevertheless, you still do need some recommender-system and programming knowledge to store data in the right format, load it in the library and select, possibly tune, and apply the algorithms. These libraries make it easy to deploy your own recommender system. Keep in mind that while prototypes can be developed typically within hours or days, developing production systems will rather take weeks or even months.

We define a ‘recommendation API’ as a (REST) Web Service that offers the same functionality as a software library, only that your data is hosted in the cloud. In contrast, recommender-systems as-a-service (RaaS) do all the work for you. For instance, you typically would integrate e.g. only a JavaScript snippet in your web page where recommendations shall be displayed. Everything else (indexing data, generating recommendations, displaying recommendations) is done by the RaaS. The downside though would be less control of how recommendations are generated.

In the Google Sheet below you find a collection of recommender-system libraries and APIs (early draft / work-in-progress!). If you would like to add or change information, please send a request and provide us with some details about yourself.

Our list is based in part on the following sources, which all aim at providing overviews of recommender system libraries. and

News About Recommender-System Software-Libraries & APIs

‘Microsoft Recommenders’ + ‘Linux Foundation of AI and Data’ = ‘recommenders-team’

Microsoft Recommenders was introduced a few years ago, and it provided guidelines and a collection of software libraries relating to recommender systems. Today I found the announcement that Microsoft Recommenders is joining forces with Linux Foundation of AI and Data (LF AI & Data). On GitHub, they created a new organization, “Recommenders Team“. Currently, this […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

TorchRec, a new Recommender-Systems Library by PyTorch

The PyTorch team (and aka Facebook AI team) announced a new software library for recommender systems: TorchRec (GitHub). PyTorch is one of the major Deep Learning libraries, besides TensorFlow and Keras. As such, the announcement of TorchRec is big news for the recommender-systems community. If TorchRec is as powerful for recommendations as is PyTorch […]

Posted in Software Libraries & APIs | Tagged , , , , , , | Leave a comment

LensKit 0.14.0 released (“Cleaning Up”)

LensKit just announced on Twitter that they released a new version of LensKit, one of the most popular recommender-systems software libraries. It seems there were no new algorithms being added, but a lot of cleanups were made that should improve the usability of LensKit. Either way, it’s great to see that LensKit is constantly being […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

Zalando publishes its RESTful API and Event Guidelines

It’s a bit off-topic, but since APIs have some relevance for recommender systems, this is worthwhile news*: Zalando – one of the world’s largest fashion retailers and quite active in the recommender-system community – released its guidelines for the development of RESTful APIs. I know from my own experience (e.g. through guest lectures in my […]

Posted in Best Practices, Software Libraries & APIs | Tagged , , | Leave a comment

RecList: A RecSys software library for behavioral testing

Patrick John Chia, Jacopo Tagliabue, Federico Bianchi, Chloe He, and Brian Ko have released a new software library for recommender-systems testing. Source code is on GitHub and there is a paper upcoming at the WebConference (arXiv preprint). RecList is an open source library providing behavioral, “black-box” testing for recommender systems. Inspired by the pioneering work of Ribeiro […]

Posted in Software Libraries & APIs | Tagged , , , , , | Leave a comment

Elliot: a Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation [Guest Post]

In the last decade, Recommendation Systems (RSs) have gained momentum as the pivotal choice for personalized decision-support systems. The recommendation task is essentially a retrieval task where a catalog of items is ranked in a personalized way, and the top-scoring items are presented to the user. Once the RSs’ ability to provide personalized items to […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

Google AI releases ‘RecSim NG’, a “Flexible, Scalable, Differentiable Simulation of Recommender Systems”

One or two years ago, Google AI released RecSim — A Configurable Simulation Platform for Recommender Systems. Now, Martin Mladenov from Google AI announced the next generation (NG) of RecSim, i.e. RecSim NG. RecSim NG is a powerful and flexible simulator designed to help researchers and practitioners in the field of recommender systems to model […]

Posted in Evaluation & Reproducibility, Software Libraries & APIs | Tagged , , , | Leave a comment

‘Spotify Confidence’: convenience wrappers around stat models various functions

Spotify released Spotify Confidence, which provides “convenience wrappers around stats model’s various functions for computing p-values and confidence intervals. With Spotify Confidence, it’s easy to compute several p-values and confidence bounds in one go, e.g. one for each country or for each date. Each function comes in two versions, A) one that returns a pandas […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

Google Introduces “Model Search”, an Open Source Platform for Finding Optimal ML Models

Hanna Mazzawi and Xavi Gonzalvo from Google AI announced “the open source release of Model Search, a platform that helps researchers develop the best ML models, efficiently and automatically. Instead of focusing on a specific domain, Model Search is domain agnostic, flexible and is capable of finding the appropriate architecture that best fits a given dataset […]

Posted in Software Libraries & APIs | Tagged , , , , | Leave a comment

‘Lazy Predict’ Tutorial for AutoML with scikit-learn [Eryk Lewinson]

Eryk Lewinson wrote a tutorial on how to use Lazy Predict, which is an automated machine learning (AutoML) extension by Shankar Rao Pandala for scikit-learn. Automatisation is also becoming more prominent for recommender-systems (AutoRecSys) and hence this library could be useful for recommender-systems developers. While starting to work on a supervised learning problem, we are […]

Posted in Software Libraries & APIs, Tutorials & 101's | Tagged , , , , | Leave a comment