A few questions before I really dive into your script, if I may.  I have about 200-300 books on my Kindle3, while calibre has considerably more. Does the script know to ONLY handle books "On the Device"?  I have a very limited number of tags, rarely more than one tag per book. AND my biggest chunk of books are tagless, each being assumed to be Science Fiction. Does that 'management' style prevent your script from being useful?  Would it be possible to allow me to choose WHICH column the collections would be extracted from? i.e. I could create a column called CollSets and populate it with my collection sub-sets.  Along the same vein, there already exists in my collection, a column that I call Anticipation, which I fill with 0-9. A book I want to read, and read today, ranks a 0. Books I will eventually get around to when nothing else is available, ranks a 9. I would certainly be interested in the ability to create a collection based on Anticipation.
I'm not the world's greatest programmer, and the python language will be new to me, but if you give me some encouragement on the four questions, I will probably take the time to take a shot at it.
Thanks for all your efforts, GM