Skip to main content

CLI to search TV shows, movies & anime via TMDB/AniList, scrape m3u8 links, and play in VLC/mpv

Project description

cinnamon

Watch TV shows, movies, and anime from your terminal. Search, pick a title, and it plays in mpv or VLC.

version Python License Platform

Quick start

You'll need Python 3.10+ and either mpv or VLC.

Install

pip install cinnamon-cli
cinnamon setup

The setup wizard asks for a TMDB API key (Create a free account here), the api key is used for show and movie information. If you skip it, search & watch fall back to an experimental 2embed metadata proxy (no key needed) — it works but is less reliable.

Get a player

Please note that MacOS version has not been tested since we dont have access to a mac

Platform mpv VLC
Windows scoop install mpv or download from mpv.io videolan.org
macOS brew install mpv brew install --cask vlc
Linux apt install mpv (Debian/Ubuntu) apt install vlc
Termux pkg install mpv pkg install vlc

Watch a show or movie

cinnamon search "Breaking Bad"
cinnamon search "Inception"

For Anime you can run (Works even if you dont have an api key):

cinnamon anime "Chainsaw Man"

By default you'll be asked whether to watch sub or dub. Skip the prompt with -sub / -dub:

cinnamon anime "Chainsaw Man" --sub
cinnamon anime "Frieren" --dub

you can also run it like this:

cinnamon Inception
cinnamon Breaking bad
cinnamon chainsaw man

Download episodes

Downloading needs yt-dlp.

pip install yt-dlp

Now you can run:

cinnamon search "Breaking Bad" -d -e 1-5

Commands

If you run this… …this happens
cinnamon anime <query> Search anime via AniList (no API key needed)
cinnamon search <query> Find a show, pick an episode, watch it
cinnamon watch --id 123 -s 2 -e 5 Go straight to S2E5 without menus
cinnamon play-url <url> Play any m3u8/mp4 link
cinnamon resume Continue an interrupted download
cinnamon history Show watch history and resume from the next unwatched episode
cinnamon history --clear Clear all watch history
cinnamon scrapers See available streaming sources
cinnamon install <name> Add an optional scraper (vidsrc, torrentio)
cinnamon update Check for and install the latest version
cinnamon config show View your settings

Common flags

Flag What it does
-s <N> Season number
-e <N> or -e <start-end> Episode or range (e.g. -e 1-10)
-d Download instead of streaming
--scraper <name> Force a specific scraper
--player mpv or --player vlc Choose player
-q 720p Pick quality (480p, 720p, 1080p, best, worst)
--sub Prefer subtitled audio (skips the translation prompt)
--dub Prefer dubbed audio (skips the translation prompt)
--info-only Just print the stream URL

Scrapers (streaming sources)

Built-in (work out of the box):

Name For
webstream TV shows & movies from vixsrc.to and vidlink.pro (HLS)
anime Anime from allanime.day via mp4upload

Optional (install with cinnamon install <name>):

Name Needs
vidsrc pip install "cinnamon[scrapers]" then playwright install chromium
torrentio npm install (torrent playback)
cinnamon install torrentio
cinnamon config default-scraper torrentio

Configuration

Settings are stored in ~/.config/cinnamon/config.json (Linux/macOS/Termux) or %APPDATA%/cinnamon/config.json (Windows). Change them anytime:

cinnamon config default-player mpv
cinnamon config default-scraper webstream
cinnamon config set-api-key YOUR_KEY

Notes

Experimental 2embed metadata proxy: When no TMDB API key is configured, search and watch fall back to api.2embed.cc (no key needed). This works for most popular shows/movies but may be slower, less reliable, or return incomplete results. We reccomend getting a TMDB key for a more reliable experience

This project is mostly vibe coded and our lazy ass didnt even write more than 300 lines. feel free to give us feedback so we can improve this project and make it as good as possible.

inspired by ani-cli

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

cinnamon_cli-0.2.37.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

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

cinnamon_cli-0.2.37-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

Details for the file cinnamon_cli-0.2.37.tar.gz.

File metadata

  • Download URL: cinnamon_cli-0.2.37.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cinnamon_cli-0.2.37.tar.gz
Algorithm Hash digest
SHA256 f8c4256530e0b2282d93d0f1608eb91692ca8a88a590295f9d7c6600079b0688
MD5 d1d1dd3c84cd273606c81594a8d80426
BLAKE2b-256 534963c370f12d6182945763628464d70ae612a3d5bcdd3e863c2c01f5a3cb16

See more details on using hashes here.

File details

Details for the file cinnamon_cli-0.2.37-py3-none-any.whl.

File metadata

  • Download URL: cinnamon_cli-0.2.37-py3-none-any.whl
  • Upload date:
  • Size: 51.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cinnamon_cli-0.2.37-py3-none-any.whl
Algorithm Hash digest
SHA256 1d804b4b114024ce43f1a75aa78057fcda5efabd264ad500555138f3d346328a
MD5 89b027f656e0abfe5ee512743a9bc233
BLAKE2b-256 b90ce2fb90a48adffca47cb8d167da8fc85bd884fb2b2fe02e862807cb2b931c

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