Skip to Content
Support Palestine πŸ‰Β Β β¬©Β Β Know what's happening β†’
ProjectsToon Suggest

thumbnail

ToonSuggest is a simple, lightweight, and interactive movie recommender system designed for animation and cartoon titles using IMDb datasets. Built using Python and Tkinter, it allows you to train a recommendation model and get suggestions for similar titles based on textual similarity and user ratings.

Actions

  1. Download πŸ—ƒοΈ Windows EXE File and πŸ—ƒοΈ Model PKL File ~v1.0

  2. Open GitHub Repository source for this project.

πŸ“Œ Features

  • GUI-based interface with file selection, training, and recommendation
  • Uses TF-IDF vectorization for content-based filtering
  • Compatible with IMDb .tsv.gz data files
  • One-click .exe build available (see Releases)
  • No external API or internet access required

πŸ“Œ Getting Started

1. Clone the Repository

git clone https://github.com/s-m-quadri/toon-suggest.git cd toon-suggest

2. Install Dependencies

Install the required Python libraries using:

pip install -r requirements.txt

3. Run the App

python main.py

Or download the pre-built .exe from the Releases  section to run without Python.

πŸ“Œ How It Works

  1. Train the Model

    • Launch the training window and select:

      • title.basics.tsv.gz
      • title.ratings.tsv.gz
    • Click β€œStart Training” to preprocess and vectorize the data.

    • A trained model.pkl file is generated and saved.

  2. Get Recommendations

    • Launch the main window.
    • Load the trained model.
    • Enter the name of a movie and click β€œGet Recommendations”.

πŸ“Œ Project Structure

ToonSuggest/ β”œβ”€β”€ main.py # Entry point for the GUI application β”œβ”€β”€ model.pkl # Sample trained model (for demo/testing) β”œβ”€β”€ setup.spec # PyInstaller config for .exe build β”œβ”€β”€ requirements.txt # Python dependencies └── src/ β”œβ”€β”€ gui_home.py # Main recommendation GUI β”œβ”€β”€ gui_train.py # Model training GUI β”œβ”€β”€ recommend.py # TF-IDF recommendation logic └── train.py # Data loading, training, and saving logic

πŸ“Œ Executable Build

To create a standalone .exe:

pyinstaller --onefile --noconsole setup.spec

Or use the ready-built binary available in Releases .

πŸ“Œ IMDb Dataset Download

ToonSuggest requires two official IMDb dataset files:

  1. title.basics.tsv.gz – Contains title names, genres, and years
  2. title.ratings.tsv.gz – Contains user ratings and number of votes

Download both from the official IMDb dataset portal:

πŸ‘‰ https://datasets.imdbws.com/ 

Steps:

  • Visit the link above
  • Download:
    • title.basics.tsv.gz
    • title.ratings.tsv.gz
  • Keep both files easily accessible for selection during model training

Note: IMDb datasets are periodically updated, so you may retrain your model when new data becomes available.

πŸ“Œ Walkthrough: How to Use the App

Home Window (main.py β†’ gui_home.py)

This is the main user interface for movie recommendations.

  • Title Input Field: Start typing an animated movie title to search
  • Train Model: Opens the training window to build or rebuild the model
  • Refresh Model: Reloads an already trained model from model.pkl
  • Get Recommendations: Fetches similar movies to the selected title

The Get Recommendations button is only enabled when a valid model is loaded.

Training Window (gui_train.py)

Accessed via the β€œTrain Model” button on the Home screen.

  • Choose IMDb Files:
    • Choose title.basics.tsv.gz
    • Choose title.ratings.tsv.gz
  • Reset: Clears selected files and allows re-selection
  • Start Training:
    • Enabled only when both files are selected
    • Builds the model using TF-IDF vectorization and saves it as model.pkl
    • Automatically closes and updates the Home screen once training completes

During training, all inputs are disabled to avoid interruptions.

πŸ“Œ License

This project is licensed under the GNU General Public License.

πŸ“Œ Contact

For bug reports or feature requests, please contact: dev.smq@gmail.com



πŸ’‘

Some of my latest posts on LinkedIn

Last updated on