DOPAL is a library to allow programs written in Python to easily communicate the Java BitTorrent client Azureus, via the XML/HTTP plugin (allowing communication over a network).
Version 0.54 is the first public release of DOPAL - which I've been working on (on and off) for the last 18 months. It provides a very Pythonic way of interacting with the objects available in Azureus's Plugin API - you can interact with remote objects and invoke methods on them as easily as any normal Python object (while all the connection handling and XML generation and parsing is done behind the scenes). It also allows you to write code which can do just the same things as Java plugins for Azureus can (well, almost).
Please give it a try, let me know what you think... http://dopal.sourceforge.net/
Here's some sample output of DOPAL being used - a more elaborate example can be found here: http://dopal.sourceforge.net/examples.html
Python 2.3.5 (#62, Feb 8 2005, 16:23:02) [MSC v.1200 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
import dopal.main connection = dopal.main.make_connection(host='10.0.0.4') plugin_interface = connection.getPluginInterface() print connection
AzureusObjectConnection for 10.0.0.4 [Azureus 184.108.40.206]
downloads = plugin_interface.getDownloadManager().getDownloads() len(downloads)
example_download = downloads print example_download
Download: Rarities [Stopped, 0.0%]
DownloadScrapeResult: Seeds: 272, Peers: 123
example_download.restart() # Starts the download # Let a little time elapse... example_download.refresh_object() print example_download
Download: Rarities [Downloading, 23.3%]