Errol is a file sender that rely on inotify. It can be used to watch a directory and automatically transfers the new files (or modified ones) with XMPP. Requires inotify support (which is a given - Linux). Uses the slixmpp Python module.
Requires XEPs 0198 (stream management), 0060 (pubsub), 0045 (MUC) on the server. Pubsub nodes need to be set to "open." Has links to a couple of PoC tests to make sure the server's set up correctly.
I think I can use this to figure out how to write a File Transfer Bot.
XEP-0363 CLI upload tool. Written in Python, uses SleekXMPP. Give it login credentials to an XMPP server and a filename, and it'll upload the file to the server.