The cache module provides caching utilities in order to provide
faster access to data which is needed repeatedly. The disk cache
(diskcache) which is primarily used during development when
loading data from the local harddisk is faster than querying a remote
database.

A list of dicts, with each dict containing information about
one of the available models. Each dict is guaranteed to
contain the version key, which is the same version
number that ModelPersister.read() accepts for loading
specific models.

A ModelPersister that serves as a
caching decorator around another ~palladium.interfaces.ModelPersister
object.

Calls to read() will look up a model from
the global process_store, i.e. there is never any actual
loading involved when calling read().

To fill the process_store cache periodically using the return
value of the underlying ModelPersister‘s
read method, a dictionary containing keyword arguments to
dateutil.rrule.rrule may be passed. The cache will then
be filled periodically according to that recurrence rule.