Package: seasonwatch
SeasonwatchIntroductionSeasonwatchis an application that helps you keep track of when new seasons
of TV show you are following are released.DependenciesPython >= 3.10libgirepository(Arch
Linux,Ubuntu) (for
showing notifications)InstallationDownload the wheel from the release page here on GitHub and install it with:$pipinstallseasonwatch-<theversionyouwanttoinstall>-py3-none-any.whlAlternatively, clone the repository and run the following in it:$poetrybuild$pipinstalldist/<yournewlybuiltpackage>You can also run it using poetry directly if you just want to try it:$poetryrunseasonwatchUsageInitial configurationIn order to use Seasonwatch, you need to have a TMDB API Read Access Token.
Getting one is free, and you get it by registering onhttps://www.themoviedb.organd then creating an API key according to thedocumentation. Creating an API key also
gives you an API Read Access Token. Once you have it, manually edit your
configuration file (usually~/.config/seasonwatchrc) or run:$seasonwatchconfigureTMDB API Read Access Token: <your token, then Enter>Testing token...Token is valid!Write new config file, losing all comments? (Y/n): <Y>Successfully set TMDB token!Adding new TV showYou can interactively add a new TV show to your database by running the below
command. You'll be prompted to fill in the title of the TV show, the ID, and the
last season you've seen. For example, if you've just watched season 3 of The
Expanse and want to be notified when the next season is released, you'd fill in
it like so:$seasonwatchtv--addWhat the show should be called: The ExpanseID of the show (after 'tv/' in the URL on TMDB): 63639Last watched season: 3title: The ExpanseTMDB ID: 63639Last watched season: 3Does this look ok? (Y/n) YAdd more shows? (y/N)You can use anything you want as the title. The ID is in the URL of the TV
show on TMDB. In this case, the page on TMDB for the TV show is:https://www.themoviedb.org/tv/63639-the-expanseThe ID is the number that comes aftertv/in the URL, and before the title of
the TV show. That is, "63639".You can verify that the TV show is added to the database by running:$seasonwatchtv--list┌────────────────────────────────┬─────────────────────┬──────────────────────────────────────┐│ Title                          │ Last watched season │ Hyperlink                            │├────────────────────────────────┼─────────────────────┼──────────────────────────────────────┤│ The Expanse                    │ 3                   │ https://www.themoviedb.org/tv/63639  │└────────────────────────────────┴─────────────────────┴──────────────────────────────────────┘Checking for new seasonsJust run Seasonwatch like so:$seasonwatchSeason 4 of The Expanse is out already!You will be shown notifications for shows that are already out or coming out
soon, and the information for all shows in your database will be printed on the
command line. It might be a good idea to automate the running of the script with
a cron job that runs it regularly. Even when run in the background, Seasonwatch
will show you desktop notifications.Migration to TMDBThe IMDb API is no longer working, so from version 0.3.0 onward, TMDB is used
instead. If your database was created before then, you will be asked to migrate
when running Seasonwatch for the first time after installing the new version.
There is a helper that will suggest corresponding TMDB IDs for your old shows.DevelopmentStatusSeasonwatch currently supports checking for new TV show seasons only. Version
0.3.0 has been released and is ready to be used for this purpose.BugsReport bugs under theissuestab
here on GitHub.Release processThe release process is automated and happens through the Release workflow. It
just needs to be triggered by pushing a tag. Instructions for creating a release:Create a pull request toward thedevbranch with a step-up commit that
bumps the version and updates the changelog if necessary. Merge it.Create a pull request from thedevbranch toward themainbranch and
merge that.Create an annotated tag on themainbranch:git tag -am "Step up Seasonwatch to version X.Y.Z" vX.Y.Z.Push the tag:git push --tags origin vX.Y.Z.Verify that the Release workflow is triggered and succeeds.