Jason Clinton wrote:
The documentation for BitTorrent clearly states that you must poke a hole in your firewall in order to get the best performance from BitTorrent; any bad experience you've had after doing that should be directed to the author.
Googling for "bittorrent upnp" turns up several clients that will do the hole-poking automagically, assuming your firewall supports UPnP NAT traversal. Most of them appear to be written in something other than Python, which may take care of one of Jonathan's other complaints.