03
Batch file renamer
Adds a sequence prefix across a folder.
Handles: snapshots the listing before
renaming, skips files already prefixed so a rerun is a no-op rather than
rapor_0_rapor_0_x.pdf, and aborts rather than overwrite an existing name.
Dry run by default.
stdlib onlypathlib
04
Folder sorter
Files a messy Downloads folder into Documents, Images, Video, Audio, Archives.
Handles: never overwrites — a clashing name
becomes file (2).pdf and the original survives. Skips the category folders
it created, so running it twice changes nothing.
stdlib onlyshutil
05
Excel merger
Concatenates many workbooks into one sheet.
Handles: stamps every row with its source
file, and warns loudly when the workbooks do not share columns — a plain
concat silently produces a sheet full of empty cells. Refuses to write the
output into the folder it is reading.
pandasopenpyxl
06
PDF merger
Combines a folder of PDFs into one document.
Handles: sorts numerically, so page 10 does
not land between 1 and 2 the way plain alphabetical sorting puts it. Skips encrypted
files instead of raising halfway through the merge.
pypdfnatural sort
07
Report mailer
Sends a report with attachments over SMTP.
Handles: the app password comes from an
environment variable and never touches the source — a password committed to git is a
password to rotate. Sends a plain-text alternative alongside the HTML so the message is
not blank in clients that block it.
stdlib onlysmtplibssl