← all repositories
maciejkula/spotlight

Recsys prototyping in PyTorch, from factorization to WaveNet

It exists to spare researchers the plumbing work of assembling PyTorch recommender experiments by providing factorization blocks, sequence layers, and built-in datasets.

3k stars Python Domain AppsML Frameworks
spotlight
Not currently ranked — collecting fresh signals.
star history

What it does

Spotlight is a PyTorch toolkit for building recommender models. It bundles shallow factorization representations with deep sequence architectures—pooling, LSTM, and causal convolution layers—alongside pointwise and pairwise ranking losses. The library also includes utilities for fetching MovieLens datasets and generating synthetic sequential data, aiming to speed up research prototyping.

The interesting bit

The project treats recommendation as modular blocks rather than rigid pipelines: you can mix a BPR pairwise loss with an implicit factorization model, or drop a WaveNet-style causal CNN into a next-item predictor. That modularity makes it useful for replicating paper ideas or testing hybrid architectures without rewriting training loops from scratch.

Key highlights

  • Supports both explicit feedback factorization and implicit ranking models with configurable losses.
  • Sequence models include pooling, LSTM, and causal convolution representations for next-item prediction.
  • Ships with MovieLens 100K through 20M and synthetic Markov-chain dataset generators.
  • Explicitly extensible; the author invites pull requests for new literature implementations into the model zoo.

Verdict

Good for researchers and tinkerers who want to assemble and test PyTorch recommender variants quickly. If you need an end-to-end production framework, look elsewhere: it is explicitly aimed at exploration and prototyping.

Frequently asked

What is maciejkula/spotlight?
It exists to spare researchers the plumbing work of assembling PyTorch recommender experiments by providing factorization blocks, sequence layers, and built-in datasets.
Is spotlight open source?
Yes — maciejkula/spotlight is open source, released under the MIT license.
What language is spotlight written in?
maciejkula/spotlight is primarily written in Python.
How popular is spotlight?
maciejkula/spotlight has 3k stars on GitHub.
Where can I find spotlight?
maciejkula/spotlight is on GitHub at https://github.com/maciejkula/spotlight.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.