Skip to Content
Support Palestine 🍉  ⬩  In News
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.pygui_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