Spotlight: Deep Recommender Models with PyTorch

Spotlight: Deep Recommender Models with PyTorch

Summary

Spotlight is a Python library built on PyTorch for developing deep and shallow recommender models. It offers a comprehensive set of building blocks for various loss functions, representations, and utilities for handling recommendation datasets. This tool is designed for rapid exploration and prototyping of new recommender systems.

Repository Info

Updated on February 26, 2026
View on GitHub

Introduction

Spotlight is a powerful Python library leveraging PyTorch to facilitate the creation of both deep and shallow recommender models. It provides a robust framework for building recommender systems, offering a variety of loss functions, representations (from shallow factorization to deep sequence models), and utilities for managing datasets. Developers can use Spotlight for rapid prototyping and exploration of new recommendation algorithms.

Installation

Installation is straightforward using conda:

conda install -c maciejkula -c pytorch spotlight

Examples

Spotlight offers clear examples to help users get started quickly. These include demonstrations of explicit and implicit factorization models, sequential recommendation models using various architectures like CNNs and LSTMs, and utilities for generating and using popular datasets like MovieLens.

Here are some specific examples:

Why Use Spotlight?

Spotlight stands out as an excellent choice for anyone working with recommender systems due to its PyTorch foundation, offering flexibility and performance. Its comprehensive set of building blocks, from diverse loss functions to deep sequence models, accelerates development. The inclusion of utilities for dataset handling and a focus on rapid prototyping makes it ideal for both research and practical applications in machine learning.

Links

@misc{kula2017spotlight,
  title={Spotlight},
  author={Kula, Maciej},
  year={2017},
  publisher={GitHub},
  howpublished={\url{https://github.com/maciejkula/spotlight}},
}