Skip to content

newca12/TMDb-shelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TMDb-shelf

Image

About

tmdb-shelf is a desktop application written in Rust for managing a personal movie collection using The Movie Database (TMDb). It is built heavily on:

  • Iced - A cross-platform GUI library
  • libsql - Async SQLite database
  • Tokio - Async runtime

tmdb-shelf is an EDLA project.

The purpose of edla.org is to promote the state of the art in various domains.

This is a Rust rewrite of the original Scala/JavaFX TMDb-shelf.

Requirements

  1. Rust 2024 edition
  2. Optional: mediainfo or ffprobe for video file runtime detection

API Key

You will need an API key to The Movie Database to access the API. To obtain a key, follow these steps:

  1. Register for and verify an account.
  2. Log into your account.
  3. Select the API section on left side of your account page.
  4. Click on the link to generate a new API key and follow the instructions.

Installation

cargo install --locked tmdb-shelf

On first launch, a configuration file is created at ~/.tmdb-shelf/config.toml. Edit it to set your TMDb API key, then relaunch.

Configuration

The configuration file (~/.tmdb-shelf/config.toml) supports the following options:

[api]
key = "your-tmdb-api-key"

[general]
language = "en"              # ISO 639-1 language code for TMDb queries
# data_dir = "/custom/path"  # Custom data directory (default: ~/.tmdb-shelf)

[tools]
# mediainfo_path = "/usr/bin/mediainfo"
# ffprobe_path = "/usr/bin/ffprobe"

Features

  • Search movies on TMDb and add them to your personal collection
  • Browse your collection with filtering (Not Seen, Seen, All, Not Available, Not Viewable)
  • Search within your collection by director or movie title
  • View movie details: poster, title, director, release dates, runtime, IMDb score
  • Track viewing dates and personal comments
  • Detect video file runtime via mediainfo or ffprobe
  • Scan for IMDb score changes across your collection
  • Color-coded poster drop shadow based on runtime (purple < 75 min, red 75-89, yellow 90-94, black >= 95)
  • Non-theatrical content (TV movies, shorts, etc.) visually dimmed in the grid

Documentation

See the docs/ folder for detailed documentation:

License

(C) 2025-2026 Olivier ROLAND. Distributed under the GPLv3 License.

About

Movie collection manager using TMDb API, built with Rust & Iced.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages