The new storage 'storages.backends.filecache.FileSystemCachedS3BotoStorage' makes faster thumbnail creation (e.g. for easy_thumbnail) or whatever operation performed by Django on files hosted at S3.
its heavily based on a extendable FileCacheMixin, so can be easily adapted for other remote storages.
On .read() operations, it transfers the file from slower master storage (S3 in this case) to faster cache storage (FileSystemCache in this case), so next uses needs no new transfer. Note that common usage have no .read() operations, and .url() keeps proxing to master storage. This cache only affects .read() operations, usually Django operations.
On .write(), cache storage version is cleaned, so making chance for master storage to do fancy changes/optimizations and transfer fresh files on next .read() call
Other default operations are just proxied to master storage.
For bonus, the implemented FileSystemCachedS3BotoStorage have a working .path() for S3 based files, allowing transparent integration with django_compressor and other tools that encapsulate calls to filesystem tools.
The only caveat is that, for now, it does not implement external invalidation, so a new file uploaded to master storage (S3) from outside of Django will NOT trigger cache storage invalidation. However, this is possible and planned to be implemented later.