
2.9k stars · GPL-3.0 · 2026.08.26.post1 (2026-08-26) · Track this in Rising ↗
A YAML subscription layer over yt-dlp — competitors' new uploads arrive nightly with metadata attached.
Radar check
What we found when we opened it. Every bar is one fact, with its date.
Last code pushed 19 Oct 2026, 8 days before this check.
Latest release 2026.08.26.post1 on 26 Aug 2026.
Public since September 2021, about 5 years.
2,983 stars and 110 forks.
3 commits and 5 new issues in the last 90 days.
41 contributors. 3 pull requests merged in 90 days.
No security policy file says how to report a problem. No published security advisories.
How the bars are scored
- Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
- Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
- Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
- Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
- Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
- Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
- Security. A published security policy 80, none 40; published advisories are listed, not scored.
Checked by Repo Radar on 26 Oct 2026 from the repository on GitHub. Covered in Edition 13.
▶Repo detailsthe review · specs · pros & cons · install
What it does
It is a configuration layer on top of yt-dlp, the downloader that does the actual work. The channels and playlists to follow are described in one YAML file, a plain text format for settings. Each run fetches what is new, skips what it already has, and writes files into a folder pattern you define. It saves the title, description, upload date, tags, thumbnail and subtitles alongside each file, and can write metadata files for media servers. Presets cover the common cases, so a working setup is a few lines rather than a script. Version 2026.8.26 is on PyPI, dated 26 August 2026. It downloads and files only: it does not analyse anything, and it will not work from most rented servers, because the large video sites block data-centre addresses.
Why it matters
Who it suits. It suits anyone doing regular research on a set of channels, or keeping an archive of material they are entitled to keep. The value is in the saved text rather than the video: titles, tags and subtitles collected over months answer questions no single visit can. Skip it if a weekly manual look is enough, and skip it if there is no machine at home that can run on a schedule.
Verdict. Worth an hour if the research is recurring, and worth nothing if it is a one-off, where plain yt-dlp/yt-dlp (Ed. 6) is simpler. Set it to fetch metadata and subtitles only unless the video itself is needed, because full downloads fill a disk quickly. The licence is GPL-3.0, which is fine for something run as a tool. meeb/tubesync is the alternative if a web page to click is preferred over a text file.
Summary (Key Points)from the README
Key features
- Media server output: Formats downloads for Kodi, Jellyfin, Plex, Emby, and modern music players, with no additional plugins or external scrapers.
- YouTube channels as TV shows: Organizes channel downloads in a layout that Plex and Jellyfin can read as TV shows.
- Music videos and concerts: Supports organizing music videos and concerts for Kodi and Jellyfin.
- SoundCloud discographies: Downloads SoundCloud discographies and writes music tags through the beets API.
- Bandcamp discographies: Downloads Bandcamp discographies as a supported media type.
- Prebuilt presets: Subscriptions are YAML files that import presets, so many users can start downloading without writing config from scratch.
- Flexible formatting: Aims to give maximum flexibility for file and metadata formatting while keeping the setup simple.
- Custom configs: Any part of the process can be changed with custom configs, backed by a walk-through guide, example configurations, and detailed field documentation on readthedocs.
- Web-GUI Docker image: Bundles LSIO's code-server image with ytdl-sub preinstalled, which the README calls the recommended way to use it.
Ways to install
| Platform or method | What it needs | Effort |
|---|---|---|
| Docker Compose | Docker; the README does not list further requirements | Not stated in README |
| Web-GUI | Docker; uses the LSIO code-server image with ytdl-sub preinstalled (recommended) | Not stated in README |
| Headless | Docker; runs without the Web-GUI | Not stated in README |
| CPU / GPU Passthrough | Docker with CPU or GPU passthrough; no further detail given | Not stated in README |
| Docker CLI | Docker, used from the command line | Not stated in README |
| Windows | Not stated in README | Not stated in README |
| Unraid | Not stated in README | Not stated in README |
| Linux | Not stated in README | Not stated in README |
| Linux ARM | Not stated in README | Not stated in README |
| PIP | Python and pip; the README does not state versions | Not stated in README |
| Local Install | Not stated in README | Not stated in README |
| Local Docker Build | Docker, building the image locally | Not stated in README |
Important
- Setup details missing: The README lists twelve installation methods but gives no system requirements, step-by-step instructions, or effort estimates for the non-Docker options.
- Docker is the documented path: The README describes Docker installs in detail and calls the Web-GUI image the recommended way to use the tool.
- Downloads rely on yt-dlp: Media is fetched through yt-dlp, so the tool's download behavior depends on that external project.
- Config knowledge may be needed: Subscriptions are defined in YAML, and changes beyond the prebuilt presets require custom configs documented on readthedocs.
Written by an AI model from the project’s README; not part of the review, and it can be wrong.
- Scheduling, duplicate-skipping and file naming are handled, so none of that has to be written.
- Built on yt-dlp, which is widely used and well maintained, so there is no new download logic to trust.
- Its output drops neatly into a small database for querying later.
- GPL-3.0 licence: a tool to run, not a library to build into a closed product.
- Data-centre addresses are blocked by the large video sites, so it has to run from a home or office connection.
- Full video downloads fill a disk fast, and the default settings are generous.
brew install ffmpeg # or: sudo apt install ffmpeg python3 -m venv venv source venv/bin/activate pip install ytdl-sub ytdl-sub sub subscriptions.yaml




