Skip to main content

A Letterboxd-inspired terminal movie diary

Project description

LIT — Letterboxd in Terminal

A retro-inspired, local movie logging app for the terminal.

    L I T
    Letterboxd in Terminal

    [L] log a film
    [D] diary
    [W] watchlist
    [S] search
    [T] stats
    [E] export
    [X] surprise me
    [Y] Year in review
    [Q] quit

What is LIT?

LIT is a personal movie logging app that lives entirely in your terminal. Its almost exactly like Letterboxd (well in some ways) if you exclude the multi users and the internet thing.

I wanted to combine my love for movies and my thirst for becoming a better programmer so I decided to start this project. This whole journey turned out to be a complete roller coaster of emotions. I am soooo happy that finally the project ended but now i won't have any other project to maintain my streak for :(


#Features Logging

  • Log films with title, director, year, rating, review , and tags
  • Auto-fill metadata from TMDB with a single keypress (makes the whole process SOOOOOOO COOOLLLLL)
  • Rewatch detection - see your previous ratings when logging the same movie again aswell

Diary

  • chronological list of everything you watched
  • detailed well formatted data
  • entry detail well shown like review , tags , watch history with edit or delete any entry feature

Watchlist

  • separate list of films you want/have to watch
  • add specific notes to each movies like " recommended by Tyler (durden) "
  • mark as watched -> goes to log screen and fetches data from tmdb -> select the one you chose so as to fix the spelling errors and directors
  • easy and effifient

Search @ Filter

  • Search by Title or Director
  • Filter using minimum rating , tags , combine all filters (all are optional)

Stats

  • Total films, average rating, top director
  • Rating distribution bar chart
  • Tag cloud weighted by frequency

Export

  • Export to Letterboxd's official CSV import format
  • Upload directly at letterboxd.com/import
  • easy and convenient movie logging feature

**Surprise Me

  • Press X -> LIT picks a random film from your watchlist
  • Press R to pick another random film , W to mark it as watched that day , you get into the logging section

Requirements: Python 3.10+

# Clone the Project
git clone `https://github.com/Diparsan79/LIT`
cd LIT

# Create and activate virtual environment in mac/linux
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

** setting up TMDB api**

  1. Create a free account at [themoviedb.org] (https://themoviedb.org/signup)
  2. Go to sSettings -> API -> Request an API key
  3. Create a .env file in the project root:
TMDB_API=your_key_here

ps: LIT works fully without a TMDB api but it is recommended for easy logging of proper info of movies also for letterboxd exporting so as to avoid errors

Run

python -m lit.main

File structure lit/ ├── lit/ │ ├── main.py
│ ├── screens.py
│ ├── storage.py
│ ├── tmdb.py
│ └── ascii_art.py
├── data/ │ ├── entries.json
│ └── watchlist.json ├── exports/
├── .env
└── requirements.txt

All your data lives in data/. It's plain JSON . Open it in any text editor. Back it up anywhere.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lit_movie_diary-0.1.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lit_movie_diary-0.1.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file lit_movie_diary-0.1.0.tar.gz.

File metadata

  • Download URL: lit_movie_diary-0.1.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for lit_movie_diary-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ad707629739d40602b01c9b5f486e530f79b205cfbf7095d0c4f76e565478d02
MD5 aada6c3b5b8ba3beba9aa5cb458a0870
BLAKE2b-256 86a117ec3862cb14d363947f31c0078475aaa8cc80e272c9a17832090ffbf37b

See more details on using hashes here.

File details

Details for the file lit_movie_diary-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lit_movie_diary-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 40680e70c2255aef7b74a3dcf5bbd5eb33202d87143be17a7685893c7ee64988
MD5 70344fd4e154cf52162fa81efd64f222
BLAKE2b-256 b7f3e8d9cfa764901653b182a9ba7514a389a25be32bcbf8d8d5474aadebd628

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page