title: Which Python client library should I use for CouchdB?
body: <p>I'm starting to experiment with CouchDB because it looks like the perfect solution for certain problems we have.  Given that all work will be on a brand new project with no legacy dependencies, which client library would you suggest that I use, and why?</p>
  
  <p>This would be easier if there was any overlap on the OSes we use.  FreeBSD only has <a href="http://code.google.com/p/py-simplecouchdb/" rel="noreferrer">py-simplecouchdb</a> already available in its ports collection, but that library's project website says to use <a href="http://couchdbkit.org" rel="noreferrer">CouchDBKit</a> instead.  Neither of those come with Ubuntu, which only ships with <a href="http://pypi.python.org/pypi/CouchDB" rel="noreferrer">CouchDB</a>.  Since those two OSes don't have an libraries in common, I'll probably be installing something from source (and hopefully submitting packages to the Ubuntu and FreeBSD folks if I have time).</p>
  
  <p>For those interested, I'd like to use CouchDB as a convenient intermediate storage place for data passed between various services - think of a message bus system but with less formality.  For example, we have daemons that download and parse web pages, then send interesting bits to other daemons for further processing.  A lot of those objects are ill-defined until runtime ("here's some HTML, plus a set of metadata, and some actions to run on it").  Rather than serialize it to an ad-hoc local network protocol or stick it in PostgreSQL, I'd much rather use something designed for the purpose.  We're currently using <a href="http://www.lindaspaces.com/products/NWS_overview.html" rel="noreferrer">NetWorkSpaces</a> in this role, but it doesn't have nearly the breadth of support or the user community of CouchDB.</p>