Top Open Source Recommender Systems In Python For Your ML Project

Recommender systems have found enterprise application by assisting all the top players in the online marketplace, including Amazon, Netflix, Google and many others. These systems are the decision support systems that make the personalisation process better as well as smoother. It predicts and estimates the content of user preferences by extracting from various data sources such as previous database, data history, among others.

Here, we have listed the top eight open-source recommender systems in Python, in no particular order, that you must try for your next project.


About: LensKit is an open-source toolkit for building, researching, and learning about recommender systems. It provides support for training, running, and evaluating recommender algorithms in a flexible fashion suitable for research and education. LensKit for Python (also known as LKPY) is the successor to the Java-based LensKit toolkit and a part of the LensKit project. It enables researchers to build robust and reproducible experiments that can make use of the growing PyData and Scientific Python ecosystem, including Scikit-learn, TensorFlow, and PyTorch. 

Know more here.


About: Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in various scientific Python packages, such as Numpy, Scipy, Matplotlib, among others. It is also known as Scikits.recommender that aims to provide a rich set of components from which one can construct a customised recommender system from a set of algorithms and be used in various contexts. The features of Crab include user-based filtering, item-based filtering, etc.

Know more here.


About: Surprise or Simple Python RecommendatIon System Engine is a Python SciPy toolkit for building and analysing recommender systems. The tool deals with explicit rating data. With a set of built-in algorithms and datasets Surprise can help you learn how to build recommender systems. It provides various ready-to-use prediction algorithms such as baseline algorithms, neighbourhood methods, matrix factorisation-based such as SVD, PMF, SVD++, NMF and many others. The features of surprise include easy dataset handling, easy to implement new algorithm ideas, among others.

Know more here.


About: Rexy is an open-source recommendation system based on a general User-Product-Tag concept. It has a flexible structure that has been designed to be adaptable with variant data-schema. The underlying codes of this system are entirely written in Python version 3.5. It is written in a highly optimised, Pythonic and comprehensive way that makes it so flexible against the changes. Rexy also uses Aerospike as the database engine, which is a high speed, scalable, and reliable NoSQL database.

Know more here.


About: TensorRec is a Python recommendation system that allows you to quickly develop recommendation algorithms and customise them using TensorFlow. A TensorRec system consumes three pieces of data, which are user_features, item_features, and interactions. It uses this data to learn to make and rank recommendations. TensorRec learns by comparing the scores it generates to actual interactions, such as likes and dislikes between the users and items. 

Know more here.


About: LightFM is a Python implementation of a number of popular recommendation algorithms for both implicit and explicit feedback. It includes efficient implementation of BPR and WARP ranking losses. The features of LightFM includes easy to use, fast (via multithreaded model estimation), and produces high-quality results. Using Cython, it easily scales up to very large datasets on multi-core machines.

Know more here.

Case Recommender

About: Case Recommender is a Python implementation of a number of popular recommendation algorithms for both implicit and explicit feedback. It is basically a framework that aims to provide a rich set of components from which one can construct a customised recommender system from a set of algorithms. The tool has various kinds of item recommendation and rating prediction approaches, as well as various metrics validation and evaluation.

Know more here.


About: Spotlight is a Python recommender system that uses PyTorch to build both deep and shallow recommender models. By providing both a slew of building blocks for loss functions representations and utilities for fetching or generating recommendation datasets, Spotlight aims to be a tool for rapid exploration and prototyping of new recommender models. Spotlight offers a number of popular datasets, including Movielens 100K, 1M, 10M, and 20M. It also incorporates utilities for creating synthetic datasets.

Know more here.

Download our Mobile App

Ambika Choudhury
A Technical Journalist who loves writing about Machine Learning and Artificial Intelligence. A lover of music, writing and learning something out of the box.

Subscribe to our newsletter

Join our editors every weekday evening as they steer you through the most significant news of the day.
Your newsletter subscriptions are subject to AIM Privacy Policy and Terms and Conditions.

Our Upcoming Events

15th June | Bangalore

Future Ready | Lead the AI Era Summit

15th June | Online

Building LLM powered applications using LangChain

17th June | Online

Mastering LangChain: A Hands-on Workshop for Building Generative AI Applications

20th June | Bangalore

Women in Data Science (WiDS) by Intuit India

Jun 23, 2023 | Bangalore

MachineCon 2023 India

26th June | Online

Accelerating inference for every workload with TensorRT

MachineCon 2023 USA

Jul 21, 2023 | New York

Cypher 2023

Oct 11-13, 2023 | Bangalore

3 Ways to Join our Community

Telegram group

Discover special offers, top stories, upcoming events, and more.

Discord Server

Stay Connected with a larger ecosystem of data science and ML Professionals

Subscribe to our Daily newsletter

Get our daily awesome stories & videos in your inbox