Cinnamon | Beta
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, it will use an experimental 2embed search (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:
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 # Not reccomended to search an anime like this
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 |
cinnamon history <query> |
Show episodes played for a show and continue from next |
cinnamon history clear |
Clear all watch history |
cinnamon history toggle [on/off] |
Enable or disable history tracking |
cinnamon config history show |
Show whether history tracking is enabled |
cinnamon config history toggle [on/off] |
Enable or disable via config |
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
Anime movies now work (both sub and dub). Use --sub or --dub to pick your translation, or just run the command and it will ask.
This project is mostly vibe coded and our lazy ass didnt even write more than 300 lines of code. feel free to give us feedback so we can improve this project and make it as good as possible.
inspired by ani-cli
Release files for cinnamon-cli 0.2.40
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cinnamon_cli-0.2.40.tar.gz | 68.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cinnamon_cli-0.2.40-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 132.1 kB
Release files / cinnamon_cli-0.2.40.tar.gz
| Download URL | cinnamon_cli-0.2.40.tar.gz |
|---|---|
| Size | 68.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
197618525947d0ab2759779fac842d3dc0b2e86831c2f75fc25349144b0ff934
|
|
BLAKE2b-256 checksum How to use checksums |
5d1877dee53b3e1148af737fd6f6795c8a5989817326f1be256e7dde8bb33d00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / cinnamon_cli-0.2.40-py3-none-any.whl
| Download URL | cinnamon_cli-0.2.40-py3-none-any.whl |
|---|---|
| Size | 63.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1fc79fe57846ebdd520c8f24a8d357792e0858a9bfc46ddb4ce7c079ccd225e7
|
|
BLAKE2b-256 checksum How to use checksums |
8c59db940bf69cbc5cfcdce869ccdc4b30e9e7d59e61d08d0bb6e0991c024ad3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|