Storage
The next logical step for Straw in terms of features would be storage of items locally. Or at least the storage of information about what has been read, but I'll probably go for local storage of feed items because I think it won't be much more difficult.
However, I'm a bit unsure how to go about this. ZODB would be a logical choice in many respects: it would allow me to store relatively painlessly the object structure without me having to do very much at all. Patrick Logan believes transparent persistence isn't usually needed or practical for real problems , but I believe it would suit this case pretty well.
There are two problems with ZODB, however: it apparently isn't very compatible with Python 2.2 — but this might be circumvented with a new enough version and by not using new-style classes, I believe — and it's yet another dependency, this time with a library that pretty much no-one will have installed already and which might require fetching from CVS. I usually don't mind dependencies, they just indicate healthy code reuse, but in this case I'm a bit unsure.
The other option would probably be Sleepycat's Berkeley DB 3. Many/most people already have this and if they don't it's probably easier to install. But I guess it won't be as neat a fit as ZODB, requiring more manual mapping back and forth from my code. Obviously I'd love to avoid that if possible :-)
As you might have noticed, I don't have quite all the facts I need to make an informed decision. ZODB being part of the Zope family, I'm not sure how easy it'll be to correct the situation — the documentation can be sometimes hard to come by. That's likely to be one thing that won't be a problem with DB 3.
Time to find out about the state of the art of this persistency thing.