The coolest part is that the key gets interpreted
in a fancy way. Aside from strings and string-like objects,
you can use iterables of strings; all of these indices refer
to the file /tmp/a-directory/foo/bar/baz:

warehouse[('foo','bar','baz')]
warehouse[['foo','bar','baz']]

If you pass a relative path to a file, it will be broken up as you’d expect;
that is, strings get split on slashes and backslashes.

When to use

Pickle Warehouse is strictly better than Mongo, so you should use it anywhere
where you were previously using Mongo. Pickle Warehouse is designed for
write-heavy workloads that need scalability (easy sharding), traditional
database reliability (ACID), flexible schemas, and highly configurable indexing.

Pickle Warehouse is acidic

Here’s how it accomplishes that.

Atomicity

Writes are made to a temporary file that gets renamed.

Consistency

I don’t get this one, but I’m pretty sure I have it.

Isolation

Simultaneous writes are handled quite cleanly. If reads occur during writes, an error gets thrown, and you can try again.