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.
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&watchfall 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8c4256530e0b2282d93d0f1608eb91692ca8a88a590295f9d7c6600079b0688
|
|
| MD5 |
d1d1dd3c84cd273606c81594a8d80426
|
|
| BLAKE2b-256 |
534963c370f12d6182945763628464d70ae612a3d5bcdd3e863c2c01f5a3cb16
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d804b4b114024ce43f1a75aa78057fcda5efabd264ad500555138f3d346328a
|
|
| MD5 |
89b027f656e0abfe5ee512743a9bc233
|
|
| BLAKE2b-256 |
b90ce2fb90a48adffca47cb8d167da8fc85bd884fb2b2fe02e862807cb2b931c
|