Skip to main content

tvbutler reads RSS feeds from and downloads torrents of new episodes for you in your preferred quality

Project description

tvbutler reads RSS feeds from and downloads torrents of new episodes for you in your preferred quality (but is smart enough to fallback to non-HD versions, if available).


tvbutler is designed to work as a crontab or launchd entry: called without any parameters it will download all given feeds, try to identify shows and then figure out which episodes are available in which quality.

It then downloads the torrent files into the given target directory (which typically will be ‘watched’ by a torrent client).

tvbutler keeps a log of its activities in ~/.tvbutler/log and a (sqlite) database of known shows and episodes in ~/.tvbutler/database.db


The configuration lives in ~/.tvbutler/config. If it doesn’t exist, tvbutler will create a sample configuration when it’s run for the first time. It has some comments and should thus be pretty self-explanatory:

# one of sd, 720p, 1080p

# one per line, indented
feeds =

Since tvbutler is aimed at downloading new episodes of currently running shows as they are released, it excludes by default all torrents it recognizes as archives of entire seasons. It does so by excluding all torrents whose description matches a regular expression. If you have a global_exclude_regex entry in the [main] section of your configuration it will be applied, if it’s missing, nothing will be filtered. The default looks like so:



Just install easy_install like so:

easy_install tvbutler

Alternatively, download the archive, expand it and run:

python install

This will install the command line executable tvbutler mentioned above.


  • archive or delete files older than n days (perhaps base decision on tag)

  • remove torrents from transmission that have reached their seeding limit


0.1.b1 - 2011-01-12

0.1a5 - 2010-12-17

  • robustness fix (tvbutler would barf on some entries and stop processing the remaining entries)

  • log to stdout, too to get instant feedback when calling tvbutler from console

0.1a4 - 2010-12-08

  • added global regular expression filter (defaults to skip archives of seasons)

    UPGRADE NOTE: add global_exclude_regex=(all.month|month.of|season[\s\d]*complete) to the [main] section your existing config to activate this feature.

0.1a3 - 2010-12-05

  • added logging

0.1a2 - 2010-12-05

Initial release (0.1a was nuked due to packaging foobar)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (15.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page