code: def put(self, key, data, ttl_secs=None):
          
          self._check_valid_key(key)
          if not isinstance(data, bytes):
              raise IOError("Provided data is not of type bytes")
          return self._put(key, data, self._valid_ttl(ttl_secs))
docs: Like :meth:`~simplekv.KeyValueStore.put`, but with an additional
             parameter:
  
             :param ttl_secs: Number of seconds until the key expires. See above
                              for valid values.
             :raises exceptions.ValueError: If ``ttl_secs`` is invalid.
             :raises exceptions.IOError: If storing failed or the file could not
                              be read