recbole
A unified, comprehensive and efficient recommendation library
What it is and what it does
RecBole is a research-focused recommendation library built on PyTorch that bundles a large collection of recommendation algorithms and preprocessed benchmark datasets into a single framework. It abstracts away data loading, evaluation protocols, and model training boilerplate so researchers can focus on algorithm development and comparison. The library covers four recommendation task categories: general (e.g., collaborative filtering), sequential (e.g., next-item prediction), context-aware (e.g., factorization machines), and knowledge-based (e.g., knowledge graph embeddings).
The package depends on 16 runtime libraries including torch, numpy, scipy, pandas, scikit-learn, and tensorboard. It is designed for GPU-accelerated training and includes utilities for hyperparameter tuning, significance testing, and standardized evaluation. The framework is intended for reproducible research rather than production deployment, with emphasis on benchmarking and comparing algorithms on common datasets.
Use it for:
- Reproduce published recommendation algorithm results on standard benchmarks to verify claims or understand baselines.
- Implement and test a new recommendation algorithm within a unified data and evaluation framework.
- Compare multiple recommendation approaches on the same dataset using standardized metrics and train/test splits.
- Preprocess and format raw recommendation data into RecBole's unified structure for consistent downstream use.
- Tune hyperparameters across multiple recommendation models using built-in search and parallel evaluation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
RecBole provides a unified framework for implementing, benchmarking, and comparing recommendation algorithms across general, sequential, context-aware, and knowledge-based categories.
Yes, if you are conducting recommendation research and need a unified benchmark framework. The library is actively maintained, permissively licensed, and has low install friction. However, it is research-focused and not designed for production systems; the aging maintenance status and large dependency footprint (16 runtime packages) mean you should verify that the algorithm coverage and dataset versions match your specific research needs before committing.
Install
recbole on PyPI
pip
pip install recboleuv
uv add recbolepoetry
poetry add recboleInstalling recbole
Before you install
Low install friction with a pure-Python wheel. The package is actively maintained with a recent release (2025-02-24) and has accumulated 4526 repository stars, though maintenance status is marked as aging.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal restrictions.
Quickstart
pip install recbole
from recbole.quick_start import quick_start
quick_start(model='BPR', dataset='ml-100k')
Requires PyTorch 1.7.0 or later; GPU use requires CUDA 9.2+ and NVIDIA driver >= 396.26 (Linux) or >= 397.44 (Windows 10).
Verify before relying
- Actual number of implemented algorithms (description claims 94 but does not specify which are in v1.2.1)
- Whether all 44 benchmark datasets are included or require separate download
- Multi-GPU and mixed precision training support status in v1.2.1
- Python version requirement (description says 3.7+, but requires_python is unspecified)
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 16 — torch, numpy, scipy, pandas, tqdm, colorlog, colorama, scikit-learn, pyyaml, tensorboard, thop, tabulate, plotly, texttable, psutil, ray |
| Maintenance | aging — 536 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 90,548/month — #13,581 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: recbole-1.2.1-py3-none-any.whl
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
implicitImplicit provides fast Python implementations…
permissive · top 15,000 on PyPI
ranxranx computes ranking evaluation metrics…
permissive · top 15,000 on PyPI
tensorflow-recommendersTensorFlow Recommenders provides a Keras-based…
permissive · top 15,000 on PyPI
ogbOGB provides standardized benchmark datasets,…
permissive · top 15,000 on PyPI
scikit-surpriseScikit-surprise builds and evaluates…
permissive · top 15,000 on PyPI
clip-benchmarkEvaluates CLIP-like vision-language models on…
permissive · top 15,000 on PyPI
rf100vlProvides programmatic access to RF100-VL, a…
permissive · top 15,000 on PyPI
mtebMTEB evaluates text and multimodal embeddings…
permissive · top 5,000 on PyPI
fevfev is a lightweight benchmarking library for…
permissive · top 15,000 on PyPI
nevergradNevergrad is a gradient-free optimization…
permissive · top 15,000 on PyPI