PythonDaap is a (under development) DAAP client implemented in Python, and based on [PyTunes][1] by [Davyd Madeley][2]. I've so far added the authentication stuff needed by recent copies of iTunes and a primitive object model that can download individual tracks, and has playlist support. I have a command-line shell similar to itshell (I also called mine itshell, just to be confusing), and it's all quite usable. Development copies of the code can be found in [my subversion repository][4], or the [project page for PythonDaap][7]. This distribution also includes an implementation of Apple's custom MD5 hasher as a python module. This hasher is used in the [DAAP authentication protocol][5], documented by David Hammerton. To build the module: python setup.py build And to install (probably as root): python setup.py install The client library was based heavily on work by David Madeley, and also on the work done by Richard Clamp in writing the perl versions of the client, which were a great help when things didn't work, and which were also _annoyingly_ faster than my library until I put some effort into optimizing. Thanks for the push. However, the majority of the code in daap.py is now my own. The MD5 hasher contains no code written by me at all, and therefore represents one of my most efficient output/lines of code ratios _ever_. md5c.c, md5.h and md5module.c were taken from the Python source code, specifically Python-2.3.5.tar.bz2. I have made a very small modification to md5c.c, but that modification was taken in it's entirety from [Digest::MD5::M4p][6]. Other than writing a setup.py and changing 'md5' to 'md5daap' in a few places (docs, mostly), that's it. Thus I owe a debt to all the people who actually _did_ write the code I'm using, specifically Colin Plumb, who wrote the public domain MD5 implementation I'm now using, the Python developers for the Python wrapper on top of it, David Hammerton for reverse-engineering the modifications needed for iTunes, and William Herrera for producing Digest::MD5::M4p, and thus doing all the conversion work for me. [1]: http://cvs.ucc.asn.au/cgi-bin/viewcvs.cgi/projects/pytunes/ [2]: http://www.davyd.id.au/ [3]: http://search.cpan.org/~rclamp/Net-DAAP-Client-0.42/examples/itshell [4]: http://jerakeen.org/svn/tomi/Projects/python-daap [5]: http://crazney.net/programs/itunes/authentication.html [6]: http://search-dev.develooper.com/src/BILLH/Digest-MD5-M4p-0.01/M4p.xs [7]: http://jerakeen.org/code/pythondaap