I'm writing this mail as report for the last four days during which, thanks to the supervision of both naif and hellais, I managed to develop the very first basic structure of the APAF project.
One nice thing that came out during this weekend was the collaboration and improvement of other python projects, txtorcon[0] and py2app[1]. Especially, I hope to continue improving txtorcon, which will be the most strict dependency for the apaf project.
At the end of this hackaton, I reached a state in which: - the basic structure of the apaf has not been only designed, but also developed; - the most important classes have unittests and partial documentation sphynx-compilant; - the file setup.py bulds succesfully an installer for windows, osx, and linux.[2]
The very basic structure has been widely described in the documentation, and I will update http://mmaker.github.com/apaf/ according to last changes in the source. The most difficult task during the whole hackathon has been packaging for both windows and osx; pyInstaller didn't manage it, but py2exe + py2app seems to work pretty well, even though with some hacks[3].
Todos. --------- Apart from the design of the panel itself, there are some cool standalone tasks which you may consider as example for other projects. I learned from hellais that the torproject is going to build a sort of package managed in order to safely handle updates of the shipped executables; the APAF, too, is going to download[4] executables from the web as dependencies (gnupg and tor for example). The APAF needs also some icons and graphics for the system tray / icon bar / standalone executable (note that darwin and windows have their own image format); I'm going to use Vidalia's ones, but any adivice/aid here would be strongly appreciated. :)
[0] https://github.com/meejah/txtorcon/pull/4 and https://github.com/meejah/txtorcon/issues/6 [1] https://bitbucket.org/ronaldoussoren/py2app/issue/45/psutil-error-importerro... (note: building on osx 10.7 does not work.) [2] at least, it did so yeasterday. :P http://cl.ly/04232z2G1x2K2g1t3s2E [3] https://github.com/mmaker/APAF/blob/master/apaf/blobber.py [4] https://github.com/mmaker/APAF/blob/master/apaf/build.py