Skip to main content

Template-based renaming utility

Project description

Tempren - template-based file renaming utility

run-tests codecov Maintainability PyPI version pre-commit.ci status

Get it from the Snap Store

tempren is a powerful file renaming utility that uses flexible template expressions to generate names for your files.
Tag templates can modify original filename, extract metadata from the files or anything in between.
A rich library of built-in tags helps with working with many common file types out-of-the-box.

Whether you need to organize your files, standardize naming conventions, or perform complex renaming tasks, tempren can help you get the job done efficiently.

Features

  • Template-based filename/path generation
  • Built-in Audio/Video/Images metadata extraction tags
  • Ad-hoc tags to leverage external programs for metadata extraction
  • Configurable, metadata-based file selection (filtering) and sorting

Installation and documentation

For comprehensive documentation, including installation instructions, all features, advanced usage, and troubleshooting, please visit the Manual page.

Examples

Note: When experimenting on your own please use -dr/--dry-run flag!
tempren will not override your files by default but invalid template can mangle their names.

Cleaning up names for sensitive (e.g. FAT32) filesystems
$ tempren --recursive --name "%Strip(){%Base()|%Unidecode()|%Sanitize()|%Collapse()}%Ext()" ./Some\ OST/
Renamed: Disk 1/14 - 接近.flac
     to: Disk 1/14 - Jie Jin.flac
Renamed: Disk 1/02 - なつのあお.flac
     to: Disk 1/02 - natsunoao.flac
Renamed: Disk 1/11 - 灯火-re.flac
     to: Disk 1/11 - Deng Huo -re.flac
Renamed: Disk 1/05 - 記録.flac
     to: Disk 1/05 - Ji Lu.flac
Renamed: Disk 1/10 - むかしむかし、あるところに.flac
     to: Disk 1/10 - mukashimukashi, arutokoroni.flac
Renamed: Disk 1/09 - 阿良句のテーマ(ハイ).flac
     to: Disk 1/09 - A Liang Ju notema(hai).flac
...
Adding resolution to the image files
$ tempren --name "%Base()_%Image.Width()x%Image.Height()%Ext()" ~/Pictures/Wallpapers
Renamed: 0sa5yfiskqr21.jpg
     to: 0sa5yfiskqr21_3728x4660.jpg
Renamed: rkgjq6883fp81.jpg
     to: rkgjq6883fp81_3024x4032.jpg
Renamed: lcrkvphf28911.jpg
     to: lcrkvphf28911_4016x4684.jpg
Renamed: y6nzcv55k3851.jpg
     to: y6nzcv55k3851_3784x5670.jpg
Renamed: 1211740803547.jpg
     to: 1211740803547_1200x1109.jpg
...
Sorting files into directories based on their MIME type
$ tempren -dr --path "%Capitalize(){%Mime(subtype)}/%Name()" ~/Downloads
Renamed: dotnet-install.sh
     to: X-shellscript/dotnet-install.sh
Renamed: openrgb_0.7_amd64_buster_6128731.deb
     to: Vnd.debian.binary-package/openrgb_0.7_amd64_buster_6128731.deb
Renamed: prometheus-2.26.0.linux-amd64.tar.gz
     to: Gzip/prometheus-2.26.0.linux-amd64.tar.gz
Renamed: nldb remote.zip
     to: Zip/nldb remote.zip
Renamed: artifacts.zip
     to: Zip/artifacts.zip
Renamed: 2021-06-11_12-09-34.webm
     to: X-matroska/2021-06-11_12-09-34.webm
Renamed: antlr-4.9.2-complete.jar
     to: Java-archive/antlr-4.9.2-complete.jar
...
Adding checksums to the names of the audio files
$ tempren --filter-template "%IsMime('audio')" --name "%Base() [%Upper(){%Crc32()}]%Ext()" ./Roger\ Subirana\ Mata\ -\ Point\ of\ no\ return
Renamed: 10-169205-Roger Subirana Mata-Island of light.mp3
     to: 10-169205-Roger Subirana Mata-Island of light [08E46C33].mp3
Renamed: 12-169207-Roger Subirana Mata-Tales of trees.mp3
     to: 12-169207-Roger Subirana Mata-Tales of trees [33EFEC5E].mp3
Renamed: 11-169206-Roger Subirana Mata-Requiem.mp3
     to: 11-169206-Roger Subirana Mata-Requiem [5E48759B].mp3
Renamed: 05-168950-Roger Subirana Mata-The mask.mp3
     to: 05-168950-Roger Subirana Mata-The mask [045DBC19].mp3
Renamed: 03-168948-Roger Subirana Mata-Thryst.mp3
     to: 03-168948-Roger Subirana Mata-Thryst [5D23E43B].mp3
...

Contributing

If you noticed a bug or have an idea for a new tag please open an issue with appropriate (GitHub) tags. If you would like to contribute to the development you can visit contributing page designed specially for that.

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

tempren-1.3.7.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tempren-1.3.7-py3-none-any.whl (71.8 kB view details)

Uploaded Python 3

File details

Details for the file tempren-1.3.7.tar.gz.

File metadata

  • Download URL: tempren-1.3.7.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.0 Linux/6.17.0-1013-azure

File hashes

Hashes for tempren-1.3.7.tar.gz
Algorithm Hash digest
SHA256 e4843ec796c99034c37ab7caaa7085bf22abf8ee6f916eda29eea638fe740611
MD5 a053a89cbdfdf0a05381910b51403093
BLAKE2b-256 425d6a3061198f9db7390d2c3a0d677ef1814367cba79ccca8cdaec4fca0f8ac

See more details on using hashes here.

File details

Details for the file tempren-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: tempren-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 71.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.0 Linux/6.17.0-1013-azure

File hashes

Hashes for tempren-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7829cf1a4c12bfa2cdf31292469494f3a5b470d01aa05a7ccbb674ca4211f457
MD5 eed323ab6ff9bd690d668fe29934f5c9
BLAKE2b-256 8f165502d18512b231c7c0ad4a068a99beb41ccfdc76ce4171c89378322ad4e1

See more details on using hashes here.

Supported by

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