A year or so ago I started working on a program for my personal use called PkgWatch. PkgWatch basically "polled" free software sites and kept up with the latest releases of software. So, for example, I could run pkgwatch gnome totem to find out what the latest version of totem was on GNOME's web site. Basically I wrote an interface for classes I called "Watches" (which I plan to rename to "Sites"). A Watch class implemented the Watch interface. The interface basically required a FTPServer or HTTPServer class and various functions, such as get_latest_version_of(). PkgWatch can be extended simply by creating a new class that implements the Watch interface and dropping the module in a directory. In addition to the command line frontend I wrote a site crawler that would produce outupt in RSS or HTML format. That worked fine for my needs.
Recently I have been having fun learning Django. I thought a web front end to PkgWatch would make an interesting project. Enter PkgWeb. PkgWeb is just that, a web frontend to PkgWatch, though PkgWatch is (still) completely independent of PkgWatch. Keeping them seperate allows me to work on them independently, but it also helped me realze some design flaws I had made with PkgWatch and so I've been improving PkgWatch as I go along.
PkgWeb is far from done, and do to my short attention span may never be. But I have already gotten most of what I wanted to see done in just a few days. I'm able to get a listing of the Sites, then I can delve into the sites and see what Products are hosted. For each product I can see what Releases were found and then look at the details for the release. This is pretty much the same stuff I did for packages.gentoo.org, especially with the P2 code which was never rolled out. In the case of PkgWeb, it is idepedant of the distro and pretty much has the same functionality.
I may release PkgWeb (and PkgWatch) if it ever matures and if anyone shows an interest. In the mean time I'm having fun developing it and especially learning about all the cool things Django is capable of.