Series Watcher
Python script that emails a weekly digest of episodes airing on the shows you follow.
A Python script that uses the MovieDB API to gather data on a list of TV series and email a weekly summary: what aired in the past week, what’s coming in the next one. Configured by editing a list, with no UI and no settings page to open.
What airs this week
It’s the kind of script that exists because the alternative is checking five different streamers’ schedules on a Sunday evening, one at a time, to see whether anything on your list actually has a new episode. The email itself stays deliberately plain text, a scannable list rather than a dashboard, because the whole point is trading five minutes of app-switching for thirty seconds of reading a single message.
How the watch list decides what to report
The watch list is just a list of show titles, nothing more elaborate. Each run, the script queries MovieDB for every title on the list, compares each show’s air dates against the current week’s date range, and buckets episodes into two groups: “aired” for the past week, “upcoming” for the next one. The API is treated as the source of truth on every single run, so there’s no local schedule cache to keep in sync or go stale. Add a show to the list and it’s covered on the very next run, with full history already available through the API.
One list across every streaming service
Most streaming apps will tell you when their own new episode drops, but only inside that one app, and only for shows on that one service. A watch list spanning shows across several different services only comes together if something sits above all of them, which is what a single weekly email, sourced from one API instead of five separate apps, actually gives you.
Stack
The MovieDB API supplies the show and episode data, Pandas handles the date-range comparisons that sort episodes into aired versus upcoming, and smtplib sends the finished email: plain Python throughout, with no framework and no database, since a flat list and a weekly cron run are all the problem actually needs.