these get created when setup.py runs
This way both approaches work

Install via requirements.txt or setup.py work just the same
Joins paths to handle Cassandra 1.1 subdirs, interface more like tableslurp
Some memory usage help - decreasing the number of extraneous data structures kept around.
Why is computing MD5 at boot potentially

Picture the following scenario: you typically run tablesnap under
supervisor. S3 fails (it has happened) or otherwise dies for some
reason. all your tablesnaps fail at more or less the same time, then
supervisor starts _all your tablesnaps_ *at the same time*

The end result would be increased i/o util in all nodes of the cluster
at the same time, which is not good.

Now, I'm not saying is _always_ a bad idea to compute md5 at start, if
you're doing it manually you can always do the initial load computing
md5 and then restart tablesnap without --md5-on-start (or configure it
in supervisor that way)
Merge branch 'upstream'
Merge pull request #34 from urbanairship/master

How computing MD5 at start could be harmful