code: def set(self, key, value, expiration_dt):
          
          self._cache[key] = CachedObject(value, expiration_dt)
docs: Adds a new key value pair to the cache.
  
          Parameters
          ----------
          key : any
              The key to use for the pair.
          value : any
              The value to store under the name ``key``.
          expiration_dt : datetime
              When should this mapping expire? The cache is considered invalid
              for dates **strictly greater** than ``expiration_dt``.