Cache whole client instances instead.
Add gevent backend.
Use consistent naming of requirements file.