RedditPP Mascot

RedditPP

r/tunarr • … • u/No-Molasses1769

Anyone want a CLI that turns your Plex library (or Kometa collections) into Tunarr channels automatically?

Built a tool that auto-creates Tunarr channels from your Plex library — curious if anyone else would want this

Been using Tunarr for a while and got tired of manually building channels, so I wrote a Python CLI that does it automatically. Thinking about cleaning it up for public release — wanted to see if there's any interest first.

What it does:

You run one command, it reads your entire Plex library (titles, genres, years, episode counts), and either:

\- AI path — exports a CSV of your library and a prompt you paste into Claude/Gemini/GPT-4o. The LLM curates themed channels using only titles you actually own. Stuff like "90s Action", "Slow Burn Thrillers", "One More Episode" — whatever fits your library.

You save the JSON it outputs and the tool deploys it to Tunarr.

\- No-AI path — auto-generates decade and genre channels from metadata alone. No LLM needed.

\- Collections path — if you're running Kometa with Letterboxd lists, Trakt, or manual collections, it turns every Plex collection into a Tunarr channel automatically. Re-run it whenever Kometa updates and it keeps the channels in sync.

Channels use Tunarr's random schedule so they loop forever with no dead air. Also has a Plex DVR sync step so new channels show up in the guide automatically.

Would anyone actually use this if I posted it? Happy to share it if there's interest.

\*\*\*\*\* UPDATE \*\*\*\*\*

This is all written with AI, so please help me out. I'd love to develop this into something more useful. Tell me what you think. [https://github.com/AlpineArchitecture/programmarr](https://github.com/AlpineArchitecture/programmarr)

***** UPDATE — Aug 2026: it's a web app now *****

Three months ago I asked if anyone wanted this. Enough of you said yes that I kept going, and it outgrew the CLI.

Programmarr is now a self-hosted web app — one Docker container on port 7979:

- Planner UI — tick the genres and decades you care about and it shows you exactly   what it can build from YOUR library, with real counts. Per-show marathons,   genre x decade cuts, studio/director/actor channels, TV network channels, classic   programming blocks (TGIF, Must See TV), and franchise channels in release order   (detected from TMDB + Wikidata, not name matching). - Deterministic. No LLM in the critical path — it's filters over your own metadata,   so the same picks always give the same lineup. The AI path still exists, but it's   optional and strictly additive now. - Live channels — mark one auto-updating and it re-checks against your library on a   schedule and patches it in place. New episodes and new franchise films just appear.   It never deletes and recreates the channel, so the Plex DVR mapping survives. - Optional commercials between shows via Tunarr filler lists. - Still does Kometa / Plex collections, same as before.

v0.8.0 shipped today. That release was specifically about surviving setups that aren't mine — Tunarr basic auth support, backups before any destructive deploy, connection testing during setup, and honest errors instead of confusing ones.

image: ghcr.io/alpinearchitecture/programmarr:latest   ports: 7979:7979   volumes: ./data:/data

Requires Tunarr 1.x + Plex. MIT, no account, no cloud, no paid tier. https://github.com/AlpineArchitecture/programmarr

The CLI still works if that's what you prefer.

— 0