Bounter: A Python counter that uses limited memory regardless of data size
The introduction is misleading about what tradeoffs it makes<p><pre><code>  >>> from bounter import bounter
  >>> bounts = bounter(size_mb=1)
  >>> bounts.update(str(i) for i in xrange(1000000))
  >>> bounts['100']
  0L
</code></pre>
should give 1. The description should be more upfront that you are getting inaccurate answers.<p>> Bounter implements approximative algorithms using optimized low-level C structures, to avoid the overhead of Python objects.<p>"approximative algorithms" isn't a commonly used phrase (at least according to Google) and this sentence doesn't say anything about what the actual trade-off is (loss of accuracy in the counts). A possible alternative would be writing to hard disk so what trade-off is made isn't obvious.<p>I also don't know what the precision and recall percentages in the example table mean.