Skip to main content

Rename tv show files using online databases

Project description

TV Renamr is a utility to rename TV shows based upon filenames or user input.

Install it straight from the PyPI:

pipsi install tvrenamr

Run it from the command line:

$ tvr file

$ tvr folder

You want moar docs? Here you go.

Found an issue? Raise a bug!



  • Fix incorrect usage of config.get left over from previous fixes


  • Fix incorrect usage of get_config


  • Vendor dependencies
  • Harden XML with defusedxml
  • Switch to py.test for testing
  • Rework frontend code for easier testing


  • Remove requirement on config


  • Fix bug when logging episode number that had been overridden


  • Fix bug with organise directory when no config is present


  • Fix 1080[p] and [Hh].264 breaking the season & episode searching regular expression


  • Fix ignored file list option default


  • Enable passing files and folders as paths to rename


  • Append to main log file instead of overwriting it
  • Add some sane defaults for rotating the log file


  • Handle unicode in episode names


  • Fix specifying an episode on the command line


  • Improve the code that checks if tvr has everything needed to rename a file
  • Handle seasons & episodes as numbers internally


  • Fix renaming shows with 720[p] in the filename


  • Fix partial regex support


  • Fix python 3 support in the tests
  • Show IDs are now cached, cutting web requests by 50% for the majority of renames
  • Tentative multiple episode file support. Hope to improve this over time
  • Fix custom output format so it can use custom regex syntax


  • Add python 3 support!
  • Fix python 2.6 support


  • Return destination filepath from a rename (useful for libs)


  • Tidy up so it can be used as a library too


  • Remove lxml and thus it’s C building dependencies
  • Tidy up the tests
  • Clean up the library fallback logic and it’s error handling


  • Show unhandled exceptions
  • Provide a default filenmae format to fall back to
  • Use Requests instead of urllib2
  • Thanks to sampsyo for his work on this release


  • Add documentation and push to Read the Docs
  • Fix another silly typo. Regretting the state of the tests now…


  • Fix a silly naming bug that broke everything and brown bagged the last release.


  • Allow the use of apostrophes in the show name regular expression
  • Allow the use of hypen as a delimiter in the filename regular expression.
  • Clean up the interface to the episode object for use in the front end.
  • Use the correct variable name when retrieving the show name from an episode object.
  • Give more sensible output when the config’s defaults are missing.
  • Return the correct error code when exiting from an error.


  • 720p episodes can now be renamed.
  • Fallback to the other library if the first one can’t find a tv show or episode. This feature also adds better support for new libraries.
  • Added a command line option to override the show name when output to the filename.
  • Can use foward slashes allowed in show names and episode titles.
  • Use lxml as the xml library and add an extra check for empty xml files being returned from the library.
  • Use an episode object to hold an episode’s information during the rename process.

Project details

Download files

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

Files for tvrenamr, version 4.0.1
Filename, size File type Python version Upload date Hashes
Filename, size tvrenamr-4.0.1-py3-none-any.whl (386.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size tvrenamr-4.0.1.tar.gz (16.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page