The Python amaroK bindings offer a comprehensive class for remote controlling amaroK.
One standout feature is the implementation of the Observer/Observable pattern, which allows dealing with events in a loosely coupled and object-oriented manner. With the amaroKProxy instance, you can even request a Song object using the collection.getSong(filename) method which returns track, artist, album name, and the "Artist - Track name" string in an elegant manner.
The software also provides nearly all DCOP functions for communication with amaroK, and it will use KDE bindings' DCOP module if available. If not, it defaults to the command-line DCOP dcop command via python-commandsplus. Additionally, if using KDE bindings, a slave process is spawned, and IPC is used to marshal and unmarshal function calls to prevent contamination of the application's sys.modules with KDE's Python modules. All of this happens automatically in the background.
To use this software, one simply imports the module and instantiates an amaroKProxy instance, then calls the startMonitoring() method, which reads from standard input, monitoring for amaroK's events. Once the application is complete, simply sleep(1) until the .isAlive() method returns False, indicating that amaroK is gone.
Another great thing about amaroKProxy is that it is an Observable class, and so are its members- player and contextBrowser. This means that you can implement Observer objects or Threads in your amaroK script, and have them be notified of amaroK events, instead of having to read standard input and act accordingly.
In terms of requirements, amaroK bindings for Python needs Python 2.2 or later installed along with the Python commandsplus and Observable modules. Setting up and installing the software is easy as well- just run python setup.py install to build and install directly or python setup.py bdist_rpm to prepare an RPM. Overall, I highly recommend this software to those looking to control amaroK remotely in a simple and effective manner.
Version 0.1.0: N/A