← All projects
Developer building blocks

Surprise

A Python library for building and testing recommendation systems based on user ratings.

New this week

What it does

Recommendation systems suggest things you might like, such as films, based on ratings. Surprise lets programmers build and compare these systems.

It comes with common prediction methods and sample datasets like movie ratings, and tools to measure how well each method works.

It only works with explicit ratings, like star scores, not with signals such as clicks.

Who it's for

Students, researchers and developers experimenting with recommendation systems.

Can I use it without coding?

Developers only. A Python library used in code. New to this? Start here.

Can I run it?

Cost
FreeNothing to pay or sign up for.
Runs on
Mac, Windows, Linux
Computer
An ordinary computer is fine
Privacy
Runs on your own device: your data stays with you
API key
Not needed

Try it

Using Claude Code, Cursor or another AI coding assistant? Paste the prompt and it will walk you through the setup.New to this?

Before you install

  • Only download from the official GitHub page. Copies with similar names exist for many popular projects.
  • License (BSD-3-Clause): Permissive: free to use, change and share, including for business.
  • More on staying safe

Where people are talking about it