Metadata-Version: 2.4
Name: cinnamon-cli
Version: 0.4.2
Summary: Watch Movies, TV shows and anime from your terminal.
Author: pizza-droid
License: CC BY-NC 4.0
Project-URL: Homepage, https://github.com/pizza-droid/cinnamon
Project-URL: Repository, https://github.com/pizza-droid/cinnamon
Project-URL: Issues, https://github.com/pizza-droid/cinnamon/issues
Keywords: tv,movies,anime,streaming,mpv,vlc,tmdb,anilist,cli
Classifier: Environment :: Console
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click>=8
Requires-Dist: requests>=2
Requires-Dist: rich>=13
Requires-Dist: questionary>=2
Requires-Dist: pycryptodome>=3
Provides-Extra: vidlink
Requires-Dist: pynacl>=1.5; extra == "vidlink"
Provides-Extra: download
Requires-Dist: yt-dlp>=2024.1.0; extra == "download"
Dynamic: license-file

# Cinnamon | Beta

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

[![version](https://img.shields.io/pypi/v/cinnamon-cli)](https://pypi.org/project/cinnamon-cli/)
[![Python](https://img.shields.io/badge/python-%3E%3D3.10-blue)](#)
[![License](https://img.shields.io/badge/license-CC%20BY--NC%204.0-green)](#)
[![Platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux%20%7C%20termux-lightgrey)](#)

## Quick start

You'll need **Python 3.10+** and either [mpv](https://mpv.io) or [VLC](https://videolan.org).

### Install

```bash
pip install cinnamon-cli
cinnamon setup
```

> The setup wizard asks for a TMDB API key ([Create a free account here](https://www.themoviedb.org/signup)), 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](https://mpv.io) | [videolan.org](https://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

```bash
cinnamon search "Breaking Bad"
cinnamon search "Inception"
```

For Anime you can run:

```bash
cinnamon anime "Chainsaw Man"
```

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

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


you can also run it like this:

```bash
cinnamon Inception
cinnamon Breaking bad
cinnamon chainsaw man # Not reccomended to search an anime like this
```

### Download episodes

Downloading needs [yt-dlp](https://github.com/yt-dlp/yt-dlp).


```bash
pip install yt-dlp
```

Now you can run:

```bash
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>` (or `play-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 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 anidb.app (HLS, sub & dub) |
| `anikoto` | Anime from anikototv.to (HLS, sub & dub, auto-fallback for anime) |
| `dulo` | TV shows & movies from dulo.cx (own Cloudflare worker CDN, HLS) |
| `nova` | TV shows & movies from novahd.cc (direct CDN HLS + subtitles) |
| `pressplayz` | TV shows & movies from vidspark.to (pressplayz's main server; limited catalog) |
| `cornclick` | TV shows & movies from cornclick.com (direct HLS via CDN proxy) |

---

## Configuration

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

```bash
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, so
feel free to give us feedback so we can improve this project and make it as good as possible.

inspired by [ani-cli](https://github.com/pystardust/ani-cli)

---

[Contributing](CONTRIBUTING.md) · [Disclaimer](DISCLAIMER.md)
