I can now create an index over an entire collection faster. The bottleneck is still disk accesses, but I still think this was a good challenge.
I've begun work on a generic collection class for the library, playlist, and queue. Tagpy functions have been merged into the libsaria.collections.__init__.py file to make things easier.